Add "save as" option to edit market model

When editing a market model a "save as" option would be nice.
Currently it is only possible to change the name and save, but not to create a new market model (keep the old one as it is).

cc: @dennisschoenmakers

Currently it is only possible to change the name and save, but not to create a new market model (keep the old one as it is).

If you choose "Edit LES" and make changes to the market model there, your changes are saved to a copy of the market model rather than to the original (so as not to change other LESes which use the same market model). If you save your changes and then refresh the page, you'll find that it is now called something like "Default Market Model - Clone 1".
I think there might be value to a "Save as" feature on the market model page, but for consistency we should do the same for topologies.
I'd like to come back to this after the "Input validation" milestone.

If you choose "Edit LES" and make changes to the market model there, your changes are saved to a
copy of the market model rather than to the original

Thanks, currently I indeed use that workaround.

I think there might be value to a "Save as" feature on the market model page, but for consistency we should do the same for topologies.

Agree, I think this would be useful for both topology and market model

I would like this option as well. 👍

If you choose "Edit LES" and make changes to the market model there, your changes are saved to a copy of the market model rather than to the original (so as not to change other LESes which use the same market model). If you save your changes and then refresh the page, you'll find that it is now called something like "Default Market Model - Clone 1".

It seems that this does not work with my LES, maybe because the market model is only used here... When I edit it, the only existing copy is edited as well.

maybe because the market model is only used here...

This is indeed why. A market model or topology won't be cloned when in use by only one LES.

This issue will become relevant in the coming week for the Groningen/Paddepoel Project.
Currently the workaround described above is still the only way to save a variation on an existing market model.
A "save as" option in editing a market model (and topology) outside a LES would still be much more convenient.

I've done the same as @grdw did with topologies: view the market model list, click the one you want to clone and you will find a "Save as new market model" button next to "Edit" and "Delete":

Perfect, thanks!


Checkstyle plugin rules defined in the root project

Context
See https://github.com/gradle/gradle/issues/2765 for more context. This pull request replaces https://github.com/gradle/gradle/pull/2811 and add more testing + polishing.

This would be a breaking change. I suggest we use some lazy logic which looks in both locations and add a deprecation warning for the old location.

+1 with @oehme .
This is a big change, especially for the multi-project with config.xml under both root project and child project. This change will result in subproject's config file overwritten silently by root project's config file.

@oehme @blindpirate Thanks for the feedback. I will make the relevant changes.

@oehme @blindpirate I made additional changes based on your comments. Could you have another look?

Thanks @bmuschko for the work. I'm not sure if the deprecation should be done - personally I think that would affect many projects and we can support config files on both locations. Could you elaborate on why you think this should be deprecated?
In addition, the configuration directory detection is not lazy - is there any possibility that a Checkstyle config file is generated by some tasks?

I'm not sure if the deprecation should be done - personally I think that would affect many projects and we can support config files on both locations. Could you elaborate on why you think it's necessary to deprecate the old subproject location?

It's unlikely that a large majority of users will read the release notes in detail. Rendering a concrete message will inform and hopefully prompt users to switch to the single root project configuration directory immediately after upgrading. Without the deprecation warning we'll simply break projects with Gradle 5.0 by only reading from the root project directory.

In addition, the configuration directory detection is not lazy - is there any possibility that a Checkstyle config file is generated by some tasks?

No, the files has to be provided by the user. I am not aware of the plugin generating the file automatically. My assumption is that the file exists before the build is invoked.


Support Windows URL paths in FoundationEssentials

Supports initializing file URLs with Windows paths. Allow "\" as the path separator, allow UNC paths ("\\") with host, and allow/standardize drive letter paths ("C:"). However, we always store the URL with forward slashes to stay consistent for path parsing operations. I think String.withNTPathRepresentation(_:) should then be used to convert any "/" back to "\" before consulting the file system on Windows. @compnerd thoughts on this approach?
The file URL initializers also now resolve against the base URL (or current directory) for checking if the file is a directory.

@swift-ci please test

@swift-ci please test Windows platform

Oops, fixing the Windows build failures now.

@swift-ci please test Windows platform

@swift-ci please test

@jrflat - as to your point about withNTPathRepresentation, that is already doing the canonicalization of the arc separator. There is a small tweak to it in #603 that fixes a few edge cases by doing it more aggressively.

One thing that shows up with this:
Test Suite 'Selected tests' started at 2024-05-10 09:12:08.214
Test Suite 'JSONEncoderTests' started at 2024-05-10 09:12:08.214
Test Case 'JSONEncoderTests.test_JSONPassTests' started at 2024-05-10 09:12:08.214
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:08.214
Test Suite 'JSONEncoderTests' started at 2024-05-10 09:12:08.214
Test Case 'JSONEncoderTests.test_JSONFailTests' started at 2024-05-10 09:12:08.214
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:09.335
Test Suite 'JSONEncoderTests' started at 2024-05-10 09:12:09.335
Test Case 'JSONEncoderTests.test_json5Spec' started at 2024-05-10 09:12:09.335
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:09.335
Test Suite 'JSONEncoderTests' started at 2024-05-10 09:12:09.335
Test Case 'JSONEncoderTests.test_json5PassJSONFiles' started at 2024-05-10 09:12:09.335
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:11.565
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:11.566
Test Case 'TestPropertyListEncoder.test_5616259' started at 2024-05-10 09:12:11.566
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:11.460
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:11.460
Test Case 'TestPropertyListEncoder.test_5877417' started at 2024-05-10 09:12:11.460
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:11.619
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:11.619
Test Case 'TestPropertyListEncoder.test_invalidNSDataKey_82142612' started at 2024-05-10 09:12:11.619
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:11.619
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:11.619
Test Case 'TestPropertyListEncoder.test_genericProperties_binary' started at 2024-05-10 09:12:11.619
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:11.623
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:11.623
Test Case 'TestPropertyListEncoder.test_genericProperties_XML' started at 2024-05-10 09:12:11.623
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:13.445
Test Suite 'URLTests' started at 2024-05-10 09:12:13.445
Test Case 'URLTests.testURLFilePathInitializer' started at 2024-05-10 09:12:13.445
S:\SourceCache\swift-project\swift-foundation\Tests\FoundationEssentialsTests\URLTests.swift:329: error: URLTests.testURLFilePathInitializer : XCTAssertTrue failed -
Test Case 'URLTests.testURLFilePathInitializer' failed (0.0 seconds)
Test Suite 'URLTests' failed at 2024-05-10 09:12:13.445
         Executed 1 test, with 1 failure (0 unexpected) in 0.0 (0.0) seconds
Test Suite 'Selected tests' failed at 2024-05-10 09:12:13.445
         Executed 1 test, with 1 failure (0 unexpected) in 0.0 (0.0) seconds

Test Suite 'Selected tests' started at 2024-05-10 09:12:13.332
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:13.334
Test Case 'TestPropertyListEncoder.test_xmlErrors' started at 2024-05-10 09:12:13.334
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

Test Suite 'Selected tests' started at 2024-05-10 09:12:13.257
Test Suite 'TestPropertyListEncoder' started at 2024-05-10 09:12:13.257
Test Case 'TestPropertyListEncoder.test_plistWithBadUTF8' started at 2024-05-10 09:12:13.257
FoundationEssentials/URLComponents.swift:896: Fatal error: Attempting to set percentEncodedPath with invalid characters
Current stack trace:
0    (null)                             0x00007ff997c45870 swift_stdlib_reportFatalErrorInFile + 132

I think that this is due to the path containing : and \, which are not permitted. We do not always convert the path to the URL representation.

I think that this is due to the path containing : and \, which are not permitted. We do not always convert the path to the URL representation. This is likely happening in URL.deletingLastPathComponent.

Thanks for pointing this out! I think the last two commits might help address this. I also opted to keep server/share as part of the path to let the Windows APIs handle it, since I think setting ? as the host from \\?\ may have also caused issues.

@swift-ci please test

@swift-ci please test Windows platform

@swift-ci please test Windows platform

@swift-ci please test

This is definitely doing way better! There are a few hangs that need to be diagnosed still, but this is the state after this change:
Test Suite 'Selected tests' started at 2024-05-10 14:58:06.667
Test Suite 'DateTests' started at 2024-05-10 14:58:06.668
Test Case 'DateTests.testDescriptionDistantPast' started at 2024-05-10 14:58:06.668
S:\SourceCache\swift-project\swift-foundation\Tests\FoundationEssentialsTests\DateTests.swift:97: error: DateTests.testDescriptionDistantPast : XCTAssertEqual failed: ("0000-12-30 00:00:00 +0000") is not equal to ("<description unavailable>") -
Test Case 'DateTests.testDescriptionDistantPast' failed (0.001 seconds)
Test Suite 'DateTests' failed at 2024-05-10 14:58:06.669
         Executed 1 test, with 1 failure (0 unexpected) in 0.001 (0.001) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.669
         Executed 1 test, with 1 failure (0 unexpected) in 0.001 (0.001) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.663
Test Suite 'DateTests' started at 2024-05-10 14:58:06.667
Test Case 'DateTests.testDescriptionDistantFuture' started at 2024-05-10 14:58:06.667
S:\SourceCache\swift-project\swift-foundation\Tests\FoundationEssentialsTests\DateTests.swift:102: error: DateTests.testDescriptionDistantFuture : XCTAssertEqual failed: ("4001-01-01 00:00:00 +0000") is not equal to ("<description unavailable>") -
Test Case 'DateTests.testDescriptionDistantFuture' failed (0.001 seconds)
Test Suite 'DateTests' failed at 2024-05-10 14:58:06.668
         Executed 1 test, with 1 failure (0 unexpected) in 0.001 (0.001) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.668
         Executed 1 test, with 1 failure (0 unexpected) in 0.001 (0.001) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.749
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.750
Test Case 'FileManagerTests.testContentsEqualAtPaths' started at 2024-05-10 14:58:06.750
<EXPR>:0: error: FileManagerTests.testContentsEqualAtPaths : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testContentsEqualAtPaths' failed (0.022 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.772
         Executed 1 test, with 1 failure (1 unexpected) in 0.022 (0.022) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.772
         Executed 1 test, with 1 failure (1 unexpected) in 0.022 (0.022) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.749
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.750
Test Case 'FileManagerTests.testContentsAtPath' started at 2024-05-10 14:58:06.750
<EXPR>:0: error: FileManagerTests.testContentsAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testContentsAtPath' failed (0.021 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.771
         Executed 1 test, with 1 failure (1 unexpected) in 0.021 (0.021) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.771
         Executed 1 test, with 1 failure (1 unexpected) in 0.021 (0.021) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.788
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.794
Test Case 'FileManagerTests.testCopyItemAtPathToPath' started at 2024-05-10 14:58:06.794
<EXPR>:0: error: FileManagerTests.testCopyItemAtPathToPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testCopyItemAtPathToPath' failed (0.023 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.818
         Executed 1 test, with 1 failure (1 unexpected) in 0.023 (0.023) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.818
         Executed 1 test, with 1 failure (1 unexpected) in 0.023 (0.023) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.788
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.788
Test Case 'FileManagerTests.testCopyFileAtPathToPath' started at 2024-05-10 14:58:06.788
<EXPR>:0: error: FileManagerTests.testCopyFileAtPathToPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testCopyFileAtPathToPath' failed (0.006 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.794
         Executed 1 test, with 1 failure (1 unexpected) in 0.006 (0.006) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.794
         Executed 1 test, with 1 failure (1 unexpected) in 0.006 (0.006) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.834
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.836
Test Case 'FileManagerTests.testCreateDirectoryAtPath' started at 2024-05-10 14:58:06.836
<EXPR>:0: error: FileManagerTests.testCreateDirectoryAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testCreateDirectoryAtPath' failed (0.002 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.838
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.838
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.834
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.835
Test Case 'FileManagerTests.testCreateSymbolicLinkAtPath' started at 2024-05-10 14:58:06.835
<EXPR>:0: error: FileManagerTests.testCreateSymbolicLinkAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testCreateSymbolicLinkAtPath' failed (0.003 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.838
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.838
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.859
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.860
Test Case 'FileManagerTests.testDirectoryContentsAtPath' started at 2024-05-10 14:58:06.860
<EXPR>:0: error: FileManagerTests.testDirectoryContentsAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testDirectoryContentsAtPath' failed (0.003 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.863
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.863
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.852
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.857
Test Case 'FileManagerTests.testCurrentWorkingDirectory' started at 2024-05-10 14:58:06.857
<EXPR>:0: error: FileManagerTests.testCurrentWorkingDirectory : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testCurrentWorkingDirectory' failed (0.003 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.860
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.860
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.875
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.875
Test Case 'FileManagerTests.testFileExistsAtPath' started at 2024-05-10 14:58:06.875
<EXPR>:0: error: FileManagerTests.testFileExistsAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testFileExistsAtPath' failed (0.007 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.882
         Executed 1 test, with 1 failure (1 unexpected) in 0.007 (0.007) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.882
         Executed 1 test, with 1 failure (1 unexpected) in 0.007 (0.007) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.901
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.901
Test Case 'FileManagerTests.testImplicitlyConvertibleFileAttributes' started at 2024-05-10 14:58:06.901
<EXPR>:0: error: FileManagerTests.testImplicitlyConvertibleFileAttributes : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testImplicitlyConvertibleFileAttributes' failed (0.006 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.907
         Executed 1 test, with 1 failure (1 unexpected) in 0.006 (0.006) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.907
         Executed 1 test, with 1 failure (1 unexpected) in 0.006 (0.006) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.905
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.906
Test Case 'FileManagerTests.testFileSystemAttributesAtPath' started at 2024-05-10 14:58:06.906
<EXPR>:0: error: FileManagerTests.testFileSystemAttributesAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testFileSystemAttributesAtPath' failed (0.003 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.909
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.909
         Executed 1 test, with 1 failure (1 unexpected) in 0.003 (0.003) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.930
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.931
Test Case 'FileManagerTests.testMalformedModificationDateAttribute' started at 2024-05-10 14:58:06.931
<EXPR>:0: error: FileManagerTests.testMalformedModificationDateAttribute : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testMalformedModificationDateAttribute' failed (0.002 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.933
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.933
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.927
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.929
Test Case 'FileManagerTests.testLinkFileAtPathToPath' started at 2024-05-10 14:58:06.929
<EXPR>:0: error: FileManagerTests.testLinkFileAtPathToPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testLinkFileAtPathToPath' failed (0.002 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.931
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.931
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.949
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.953
Test Case 'FileManagerTests.testRemoveItemAtPath' started at 2024-05-10 14:58:06.953
<EXPR>:0: error: FileManagerTests.testRemoveItemAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testRemoveItemAtPath' failed (0.004 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.957
         Executed 1 test, with 1 failure (1 unexpected) in 0.004 (0.004) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.957
         Executed 1 test, with 1 failure (1 unexpected) in 0.004 (0.004) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.949
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.949
Test Case 'FileManagerTests.testMoveItemAtPathToPath' started at 2024-05-10 14:58:06.949
<EXPR>:0: error: FileManagerTests.testMoveItemAtPathToPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testMoveItemAtPathToPath' failed (0.022 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.971
         Executed 1 test, with 1 failure (1 unexpected) in 0.022 (0.022) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.971
         Executed 1 test, with 1 failure (1 unexpected) in 0.022 (0.022) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:06.988
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:06.990
Test Case 'FileManagerTests.testResolveSymlinksViaGetAttrList' started at 2024-05-10 14:58:06.990
<EXPR>:0: error: FileManagerTests.testResolveSymlinksViaGetAttrList : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testResolveSymlinksViaGetAttrList' failed (0.002 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:06.993
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:06.993
         Executed 1 test, with 1 failure (1 unexpected) in 0.002 (0.002) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:07.012
Test Suite 'FileManagerTests' started at 2024-05-10 14:58:07.012
Test Case 'FileManagerTests.testSubpathsOfDirectoryAtPath' started at 2024-05-10 14:58:07.012
<EXPR>:0: error: FileManagerTests.testSubpathsOfDirectoryAtPath : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: [:])"
Test Case 'FileManagerTests.testSubpathsOfDirectoryAtPath' failed (0.006 seconds)
Test Suite 'FileManagerTests' failed at 2024-05-10 14:58:07.018
         Executed 1 test, with 1 failure (1 unexpected) in 0.006 (0.006) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:07.018
         Executed 1 test, with 1 failure (1 unexpected) in 0.006 (0.006) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:12.431
Test Suite 'URLTests' started at 2024-05-10 14:58:12.431
Test Case 'URLTests.testURLFilePathInitializer' started at 2024-05-10 14:58:12.431
S:\SourceCache\swift-project\swift-foundation\Tests\FoundationEssentialsTests\URLTests.swift:329: error: URLTests.testURLFilePathInitializer : XCTAssertTrue failed -
Test Case 'URLTests.testURLFilePathInitializer' failed (0.004 seconds)
Test Suite 'URLTests' failed at 2024-05-10 14:58:12.435
         Executed 1 test, with 1 failure (0 unexpected) in 0.004 (0.004) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:12.435
         Executed 1 test, with 1 failure (0 unexpected) in 0.004 (0.004) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.835
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.835
Test Case 'DataIOTests.test_writeFailure' started at 2024-05-10 14:58:04.835
S:\SourceCache\swift-project\swift-foundation\Tests\FoundationEssentialsTests\DataIOTests.swift:127: error: DataIOTests.test_writeFailure : XCTAssertThrowsError failed: did not throw error -

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.835
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.835
Test Case 'DataIOTests.test_slicedReadWrite' started at 2024-05-10 14:58:04.835

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.831
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.831
Test Case 'DataIOTests.test_basicReadWrite' started at 2024-05-10 14:58:04.831

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.831
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.831
Test Case 'DataIOTests.test_readWriteMapped' started at 2024-05-10 14:58:04.831

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.831
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.831
Test Case 'DataIOTests.test_readWriteAtomic' started at 2024-05-10 14:58:04.831
<EXPR>:0: error: DataIOTests.test_readWriteAtomic : threw error "CocoaError(code: FoundationEssentials.CocoaError.Code(rawValue: 512), userInfo: ["NSUserStringVariant": "Folder", "NSFilePath": AnyHashable("/C:/Users/abdulras/AppData/Local/Temp/testfile-B445845C-89B4-428E-BD0A-2427AEA225C4"), "NSUnderlyingError": AnyHashable(FoundationEssentials.POSIXError(code: CRT.POSIXErrorCode.EINVAL)), "NSURL": AnyHashable(file:///C:/Users/abdulras/AppData/Local/Temp/testfile-B445845C-89B4-428E-BD0A-2427AEA225C4)])"
Test Case 'DataIOTests.test_readWriteAtomic' failed (0.004 seconds)
Test Suite 'DataIOTests' failed at 2024-05-10 14:58:04.835
         Executed 1 test, with 1 failure (1 unexpected) in 0.004 (0.004) seconds
Test Suite 'Selected tests' failed at 2024-05-10 14:58:04.835
         Executed 1 test, with 1 failure (1 unexpected) in 0.004 (0.004) seconds

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.831
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.835
Test Case 'DataIOTests.test_largeFile' started at 2024-05-10 14:58:04.835

Test Suite 'Selected tests' started at 2024-05-10 14:58:04.831
Test Suite 'DataIOTests' started at 2024-05-10 14:58:04.831
Test Case 'DataIOTests.test_emptyFile' started at 2024-05-10 14:58:04.831

Ah, looks like the create/Protected/TemporaryFile(at:inPath:..) helpers in Data+Writing.swift still need to be modified a bit for Windows. Specifically, the line let temporaryDirectoryPath = destinationPath.deletingLastPathComponent() is likely problematic because the String helper only considers forward slashes. I'll try to rework these functions a bit (maybe operate more on the URL instead of pulling out the String in an earlier call).


[version] Update to 3.2.2

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


i want to add Read Later extension

Feature Request Template for Read Later Extension
Is your feature request related to a problem? Please describe.
Managing saved articles and blog posts becomes cumbersome without proper organization and offline access.
Describe the solution you'd like
Enable users to categorize saved content by tags or folders and provide offline reading options.
Describe alternatives you've considered

Simple list without categorization.
Online-only access without offline capabilities.

Additional context
Consider adding a search feature for quick access to saved articles.
What problem is this feature trying to solve?
Improving the organization and accessibility of saved content.
How do we know when the feature is complete?
When users can categorize articles by tags or folders and access them offline.
Screen shots

hey @Sulagna-Dutta-Roy  , please assign this issue to me as GSSOC'24 contributor .i have already made it

hey @Sulagna-Dutta-Roy , i have updated it to this
After

Before

Mentor is not available. Keep patience because assigning/merging issues can take some time here.

hey @Sulagna-Dutta-Roy ,  please make it level 2 because i have updated user can add tag also to read later web/blog/post.


More efficient way of aligning images

The current method of aligning images is highly CPU-intensive, involving repeated function calls to rs2_deproject_pixel_to_point, rs2_transform_point_to_point, and rs2_project_point_to_pixel on every point in the image. At 30fps this can consume as much as 50% of a core for just depth-RGB alone, let alone IR images.
Can we have a hardware-accelerated function that can align an entire image in one go instead of millions of repeated function calls per second? Better yet, can this be done in firmware, given that the extrinsics are fixed for a particular device, and have it spit out an RGBD image, avoiding any need for transformation computations on the CPU?

Hi @dheera
The D415 device offers "RGB from Left Imager" format. This mode is extracting the colour component from Left Infrared sensor, and using the same hardware rectification pipeline as depth. Resulting image is perfectly aligned to depth. The downside is that it lacks the Full-HD resolution of the side RGB sensor, as well as some of the controls.
As far as I know the D400 ASIC does not offer the functionality of stream alignment in hardware.
We are looking into ways to reduce CPU utilisation on various platforms.

Thanks @dorodnic .
For <2 meters, some approximations can be made.
The Y axis mapping can be hard coded based on camera extrinsics/intrinsics and does not depend on the depth value. Only the X axis needs a computation.
I would like to put the X axis computation into the loop itself and eliminate the function calls if possible.
Feedback appreciated or if someone is already working on this let me know.

We are looking into optimizing this flow, but focusing on more efficient code generation (using SIMD / GPU). These are all good points, but we don't want to rely on some of the assumptions you are making (there are RealSense cameras with larger baseline or with RGB sensor not being on the same plane with stereo cameras)
That said, you are welcomed to share your results and it will likely help others in the community.

@dorodnic I've tried aligning with left infrared camera instead of rgb color camera, and it works pretty well. But the color is pretty bad in the infrared camera module compared to the color camera and kinda defies the purpose of using the infrared to align with, or is there any smart way to use the alignment of infrared->depth to make a lookup in the rgb camera?

[Realsense Customer Engineering Team Comment]
hi @TheMikeyR, we are working on improving the left imager picture on D415, but it's it's what it is for now.
hi @ @dheera, GPU and CPU investigations are still ongoing, but no breakthrus yet, will keep you posted.

We implemented some significant improvements to align in last release. This is best we can do with current hardware. If you have any ideas on how this can be further accelerated, please open a follow-up ticket.

Hi @dheera
The D415 device offers "RGB from Left Imager" format. This mode is extracting the colour component from Left Infrared sensor, and using the same hardware rectification pipeline as depth. Resulting image is perfectly aligned to depth. The downside is that it lacks the Full-HD resolution of the side RGB sensor, as well as some of the controls.
As far as I know the D400 ASIC does not offer the functionality of stream alignment in hardware.
We are looking into ways to reduce CPU utilisation on various platforms.

hi @dorodnic,
could I align the depth to left IR image with d435i so that the alignment is perfect ?
and how to achieve that since I find it deals only with the rgb color image in the code example rs-align and rs-align-advanced?

Inherently the Left IR is always perfectly aligned with the depth. No calibration needed. This is because this is one of the image pair used for the depth calculation.

Silly question, in the viewer IR cameras are identified by number, which of the two is the left IR camera?

@agrunnet I got it. thank you very much.
By the way, do you know how to evaluate the effect of the color to depth alignment?
In other words, how can I know that I need to calibrate the extrinsics to get better alignment.

I usually point at a White wall and then place a colored object between wall and camera, such as my hand. If I see part of my hand on the wall or some white on my hand then I know they are misaligned. Clearly there are ways to do this more rigorously.


description different from JSON real default

fixes #2538

I believe the line you edited is correct (ignorecase default is true), but line 465 is incorrect and should be the one that is changed instead.

fixed


ensure mixed in classes preserve @mustCallSuper semantics

Mixins that implement methods that are marked @mustCallSuper can be mixed into classes that break the @mustCallSuper contract (by not calling super).
motivating example
abstract class HowToScream {
  void scream();
}

class WillScream implements HowToScream {
  @override
  @mustCallSuper
  void scream() {
    print('Aaaaaaaaaaaaaaaaaaaaaaaaaaaa!');
  }
}

mixin DontScream implements HowToScream {
  @override
  void scream() {
    print('Sssssh!');
  }
}

// Should not be allowed, since DontScream will override
// the HowToScream implementation of WillScream,
// without calling super.
class ShouldScream extends WillScream with DontScream {} // LINT

implementation
To produce a diagnostic on ShouldScream, we need information that is not currently in the element model.  Since on-the-fly non-local analysis is expensive, we propose adding the required information to the element model.
Specifically, we'd like to:

create a new modifier (flag) stored in the element model (invokesSuper), that
is updated during resolution such that:

for each mixin, for every method, we look to see if there is a method in the super call chain that’s marked @mustCallSuper and verify that super is invoked by the mixin method.

This will require us to:

update the modifier bits to allow for a new invokesSuper flag bitmask
update summaries accordingly

(Unless @scheglov, you see a better approach?)
/fyi @bwilkerson

SGTM
Interestingly, we have MixinElementImpl.superInvokedNames, but here we would add a method specific flag, maybe invokedSuperSelf.
Hm... So, we will track, at least for mixins, whether each methods call super-self, and remember as a flag.
And in MustCallSuperVerifier._findOverriddenMemberWithMustCallSuper we walk the hierarchy and looking for a @mustCallSuper annotations. Could this also be a flag on the method element?

We just discussed this issue at the language meeting, and I had a comment on it. Here's some more detail on that.
I think it makes sense to consider two different cases here:

A member of a given mixin is designed for usages where it is not known that a superinvocation is required, and the error arises in specific mixin applications (like the one in ShouldScream.
A member of a given mixin is designed for usages where the superinvocation is required, so we take the opportunity to detect missing superinvocations early.

Case 1 perfectly matches the description in the initial text of this issue.
Case 2 allows for early error detection, and it occurs when a concrete member declaration in the mixin overrides a member in an on type whose declaration has the @mustCallSuper annotation:
abstract class HowToScream {
  void scream();
}

class WillScream implements HowToScream {
  @override
  @mustCallSuper
  void scream() {
    print('Aaaaaaaaaaaaaaaaaaaaaaaaaaaa!');
  }
}

mixin DontScream on HowToScream {
  @override
  void scream() { // Should LINT.
    print('Sssssh!');
  }
}

We're using the on type that enables a superinvocation that targets a declaration that has @mustCallSuper as an indicator: No matter which actual superclass this mixin is applied to, its scream method is designed to be part of a superinvocation chain. So we treat DontScream.scream as an overriding declaration (that inherits @mustCallSuper, as if the on type had been a superclass—it's the whole point of each on type to represent parts of the superclass). So we lint the body if it does not perform the required superinvocation.
It could be argued that @mustCallSuper is concerned with a specific implementation, and an on class is an interface, but I do think that the notion of "being part of a superinvocation chain" needs to be associated with the on types of a mixin: There is nothing that matches more precisely, it is unsurprising that the declaration-site role of the superclass is played by the on clause, and it is a missed opportunity if @mustCallSuper annotations in on types are ignored.

Duplicate of https://github.com/dart-lang/sdk/issues/36657 but now this has more history.

Hm... So, we will track, at least for mixins, whether each methods call super-self, and remember as a flag.

And in MustCallSuperVerifier._findOverriddenMemberWithMustCallSuper we walk the hierarchy and looking for a @mustCallSuper annotations. Could this also be a flag on the method element?

I think so.  Specifically, a flag like invokesSuperSelf on MethodElement(Impl)?

I thought about auto-inheriting hasMustCallSuper, we have something like this for hasDoNotStore and hasOrInheritsDoNotStore - although these are not hierarchy based, but enclosingElement based. It could be MethodElement.hasOrInheritsMustCallSuper.
Or we could repurpose hasMustCallSuper to return the "effective" state of the flag. But then on the element model level we would not know whether it was declared with @mustCallSuper or inherited it. OTOH, we already do so for all types - omitted types are inherited.

I believe that all of the hasFoo getters should have the same semantic: return true if this element is annotated with the foo annotation. If we want a getter for the "inherited" form of hasMustCallSuper, I'd propose a different name, such as hasOrOverridesMustCallSuper. Or maybe we can find something better. :-/

There are two arguments to keep hasMustCallSuper as is - first, the name says "has", and second, as you mentioned, the consistency. For name, maybe bool get mustCallSuper? It looks grammatically correct to me, but I might be wrong here as well. And it is the same name as the annotation itself, for better or worse.
One question that bothers me is whether we need the current hasMustCallSuper at all, maybe we always need the higher level semantics? From searches in the analyzer and google3, we use hasMustCallSuper only in MustCallSuperVerifier, so we only need the semantics that is useful there.

One question that bothers me is whether we need the current hasMustCallSuper at all, maybe we always need the higher level semantics?

I don't know whether we need the current semantics, but if not I'd want to leave the name unused in case we had a need for it in the future so that it could still be consistent.

Actually, the element that has @mustCallSuper itself does not have to call super.

Yeah, in hindsight it might have been better to name the annotation overridesMustCallSuper. It's longer, but more accurate. But we'd still be in the same position when trying to name getters on MethodElement.

https://dart-review.googlesource.com/c/sdk/+/240652 adds ExecutableElementImpl.invokesSuperSelf, which I think might be enough to implement a fix on top of it.

This is fantastic.  Looking now.  Thanks!

https://dart-review.googlesource.com/c/sdk/+/240880 adds the diagnostic and https://github.com/flutter/flutter/pull/102328 updates DiagnosticableTreeMixin in flutter which it flags.

My initial attempt to fix DiagnosticableTreeMixin hit a snag. To ensure mustCallSuper semantics, DiagnosticableTreeMixin has to be on Diagnosticable but if we do that, DiagnosticableTreeMixin can only be mixed into classes that implement Diagnosticable and that would be breaking (in flutter and downstream).

Here's a distilled picture of how a "fix" (updating AbstractNode) might look.
mixin Diagnosticable {
  @protected
  @mustCallSuper
  void debugFillProperties(Object properties) { }
}

abstract class DiagnosticableTree with Diagnosticable { }

mixin DiagnosticableTreeMixin on Diagnosticable implements DiagnosticableTree { // Added on
  @override
  void debugFillProperties(Object properties) {
    super.debugFillProperties(properties); // Added super call.
  }
}

abstract class MenuItem with Diagnosticable { }

class PlatformMenu extends MenuItem with DiagnosticableTreeMixin {
  @override
  void debugFillProperties(Object properties) {
    super.debugFillProperties(properties);
    print(properties);
  }
}

abstract class AbstractNode with Diagnosticable { } // Added `Diagnosticable`

abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin {
  @protected
  @override
  void debugFillProperties(Object properties) {
    super.debugFillProperties(properties);
    print(properties);
  }
}


add more log markers for load balancing and kafka connection to contr…

…oller
Result looks as follows:
controller           +0s   [2016-09-23T15:02:05.828Z] [INFO] [#tid_40] [ActionsApi] [marker:controller_loadbalancer_start:44]
controller           +0s   [2016-09-23T15:02:05.829Z] [INFO] [#tid_40] [LoadBalancerService] [marker:controller_kafka_start:45]
controller           +0s   [2016-09-23T15:02:05.863Z] [INFO] [#tid_40] [LoadBalancerService] [marker:controller_kafka_finish:79:34]
controller           +0s   [2016-09-23T15:02:05.864Z] [INFO] [#tid_40] [ActionsApi] [marker:controller_loadbalancer_finish:80:36]

@rabbah when collapsing the two log statements to one, could we still explain where the following delay comes from:
controller           +0s   [2016-09-22T08:26:01.046Z] [INFO] [#tid_229806] [ActionsApi] [POST] action activation will block on result up to 65000 milliseconds
controller           +5s   [2016-09-22T08:26:06.028Z] [INFO] [#tid_229806] [KafkaProducerConnector] sent message: invoke24[0][232]
controller           +0s   [2016-09-22T08:26:06.028Z] [INFO] [#tid_229806] [LoadBalancerService] user has 916 activations posted. Posted to invoke24[0][232]

I'll merge the info log with the marker.

Yes - you'll still get the marker you want (along with the log message).

Removed ready label - we use this when the review is complete, and all system checks are completed (and it's usually assigned by the reviewer ;) ).

Merged as https://github.com/openwhisk/openwhisk/commit/9e0e1dd684d2010ac8bba8bf2ae1648326c8deb1.


docs(portal): correct typo in "@docs-privatew"

I cannot sign the CLA; I see "Googlers do not need to sign a CLA". I just recently tied my Google account to here so perhaps it needs time to register.


KeyUp or KeyDown always prints [AA] [DD]

Description of the problem or steps to reproduce
Specifications
You can use micro -version to get the commit hash.
Version: 1.3.0
Commit hash: fad95c0
OS: Ubuntu
Terminal: Bash On Ubuntu On Windows

Pressing keyUp or keyDown etc prints something like [AA] or [DD] or [CC]
How do I solve this issue

@zyedidia any help to resolve this issue quickly or any workarounds.
Thanks to the community in advance

I am using micro in WSL and I don't have this issue. I am using the latest Windows build (Fall Creator's Update) but it was working for me before I upgraded also.
C:\Users\danm>ver
Microsoft Windows [Version 10.0.16299.19]

~$ micro -version
Version: 1.3.4-dev.61
Commit hash: 5b5998c
Compiled on October 22, 2017

I have this problem too, but it only occurs when using my ConEmu console. If I start WSL from a normal windows command prompt, then there's no issue.
ConEmu-Maximus5 version 161206 stable (latest stable version)
C:\> ver
Microsoft Windows [Version 10.0.15063]

 ❯❯ micro -version                                                                                [11:28:11] Version: 1.3.5-18
Commit hash: 4802403
Compiled on December 12, 2017

Is this issue still observed with a recent version of micro?


Merge pull request #1 from apache/master

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark before opening a pull request.
update from spark

Can one of the admins verify this patch?

@wwjiang007 Could you please close this? it seems mistakenly opened.


Query on webhook handler

Is there any document or example to use a webhook handler.
https://github.com/bitnami-labs/kubewatch/tree/master/pkg/handlers/webhook
What is the url that I should be passing to see the notifications?
My requirement is to capture the k8s events via restcalls.

why closed? have you found/received an answer?

I was able to create a rest API and get the JSON response from kubewatch.

Is there any public slack channel or some way for quick Q and A

Is there any public slack channel or some way for quick Q and A
not that I know of

Can you please check on this issue: https://github.com/bitnami-labs/kubewatch/issues/239


Clear seeked/started flag after seeking/advancing in AnimationPlayer

Fixes #85050
Fixes #85052

play() does not immediately process the animation, but waits for the internal process. The flags are cleared at this time, but if a process is interrupted by seek() or advance() in the meantime, the flags will become broken. Fixed.

Thanks!


Reference tests complain about missing referenceSetId

I'm trying again to run this against the Google API. Some of these tests I expect to fail on account of the 'TODO' issue (https://github.com/ga4gh/compliance/issues/54). Others I would guess are due to the change to make referenceSetId required (https://github.com/ga4gh/schemas/pull/392)?
./ctk --ctk.tgt.urlRoot=http://localhost:8090 --ctk.tgt.dataset_id=3556965148596575732 --ctk.matchstr='**/*Reference*'
[TESTLOG] Suite start org.ga4gh.cts.api.references.ReferenceBasesSearchIT
[TESTLOG] ERROR: searchForExpectedReferenceBases(org.ga4gh.cts.api.references.ReferenceBasesSearchIT) due to org.apache.avro.AvroRuntimeException: Field referenceSetId type:STRING pos:0 not set and has no default value
[TESTLOG] ERROR: getAllReferencesWithEmptyMd5List(org.ga4gh.cts.api.references.ReferenceBasesSearchIT) due to org.apache.avro.AvroRuntimeException: Field referenceSetId type:STRING pos:0 not set and has no default value
[TESTLOG] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.215 sec
[o.g.c.Application ] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferenceBasesSearchIT FAILED
[TESTLOG] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferenceBasesSearchIT FAILED
[TESTLOG] Suite start org.ga4gh.cts.api.references.ReferenceSetsSearchIT
[TESTLOG] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.968 sec
[TESTLOG] Suite start org.ga4gh.cts.api.references.ReferencesSearchIT
[TESTLOG] ERROR: searchForExpectedReferences(org.ga4gh.cts.api.references.ReferencesSearchIT) due to org.apache.avro.AvroRuntimeException: Field referenceSetId type:STRING pos:0 not set and has no default value
[TESTLOG] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.005 sec
[o.g.c.Application ] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferencesSearchIT FAILED
[TESTLOG] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferencesSearchIT FAILED
[TESTLOG] Suite start org.ga4gh.cts.api.references.ReferencesTestSuite
[TESTLOG] ERROR: initializationError(org.ga4gh.cts.api.references.ReferencesTestSuite) due to URI is not hierarchical
[TESTLOG] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.004 sec
[o.g.c.Application ] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferencesTestSuite FAILED
[TESTLOG] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferencesTestSuite FAILED
[TESTLOG] Suite start org.ga4gh.cts.api.references.ReferencesTests
[TESTLOG] ERROR: initializationError(org.ga4gh.cts.api.references.ReferencesTests) due to Test class should have exactly one public constructor
[TESTLOG] ERROR: initializationError(org.ga4gh.cts.api.references.ReferencesTests) due to No runnable methods
[TESTLOG] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.004 sec
[o.g.c.Application ] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferencesTests FAILED
[TESTLOG] task [junit] tgt [tests] msg: Test org.ga4gh.cts.api.references.ReferencesTests FAILED
[TESTLOG] Overall: Tests run: 7, Failures: 0, Errors: 6, Skipped: 0, Time elapsed: 1.196 sec

Hi @calbach.  I believe you are right.  A good rule of thumb is that "AvroRuntimeException" exceptions in test code are due to omitting required fields when initializing -Request objects.  In the cases I spotted above this is certainly the case.
[TESTLOG] ERROR: searchForExpectedReferenceBases(org.ga4gh.cts.api.references.ReferenceBasesSearchIT) due to org.apache.avro.AvroRuntimeException: Field referenceSetId type:STRING pos:0 not set and has no default value

@macieksmuga is working on updating and adding to the references-related tests.  Assigning to him.

This issue appears to now be resolved. I can't say for certain, since I'm still hitting other issues, but I now appear to at least be getting further.


How to run using local browsers using 'selenium-standalone' service.

Hi,
Please help to run the setup on locally installed browsers using 'selenium-standalone' service. Currently I am getting below error:
ERROR @wdio/utils:initialiseServices: TypeError: Cannot read property 'outputDir' of undefined
Also, getting the below error along with the above one:
ERROR webdriver: Request failed due to Error: connect ECONNREFUSED <IP_ADDRESS>:4444
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
Thanks,
Ankit Ranjan

This repository is about running selenium and browsers in docker selenium containers.


Refactor Donation,  DonationRequest and UserProfile

Reorganize models to reduce complexity.
Models.py

added a  new abstract class named DonationBase from which the Donation and DonationRequest classes inherits from.
added new attributes and methods to track donations and verification.
reorgarnised the UserProfile class and added new attributes.
added an experimental game related model DonationTarget to handle donation target

donation/forms.py
(donation/forms.py)
Added form classes to handle user input
* DonationRequestForm is used by the create_request view function to handle the logic for  requesting for donors.
* DonationBaseForm is a base form from which other more specifc donation related forms are derived.

SpecificDonationForm this form is used by the view function that handles donations, used if the user is donating based on the listed requests
RandomDonationFom this form is used the view function that handles random donations.

admin.py
registered newly refactored models
donation/views.py `
added new views to handle business logic.
donation/urls.py
added new url patterns for the view

HI @mwangiii  see the update I'm introducing.


Implement OOB connection initiation support

The /connections protocol is being deprecated and we need to update the service to use OOB instead.

Resolved by: https://github.com/bcgov/aries-vcr-issuer-controller/pull/92

I'm not sure if anything needs to be adjusted on the side of aries-vcr. aries-vcr-issuer-controller initiates the connection.

It looks like the web hook callback handler needs to be updated that's about it


[🐛 Bug]: Workers can slow down based on dependencies from other/unused routes

next-on-pages environment related information
System:
        Platform: darwin
        Arch: arm64
        Version: Darwin Kernel Version 23.2.0: Wed Nov 15 21:53:18 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6000
        CPU: (8) arm64 Apple M1 Pro
        Memory: 16 GB
        Shell: /bin/zsh
Package Manager Used: npm (9.8.1)

Relevant Packages:
        @cloudflare/next-on-pages: 1.11.0
        vercel: 33.6.1
        next: 14.1.0

Description
It seems that despite the lazy-loading strategy, if any route has a large dependency tree, it can ultimately slow down the _worker.js/index.js entrypoint altogether for other routes.
I've first replicated on a real/complex setup where we're reading from KV inside middleware. It was surprising there to see that if the Worker wasn't re-using an existing isolate, even KV cache hits could take XXXms of processing instead of YYms. Then we managed to confirm that the time was attributed to the KV await but in reality was spent before (e.g. in some form of worker/script startup that we can't really measure) and just attributed to the first I/O await operation in the worker.
I've built a simple reproduction without KV as we can measure the delay simply looking at TTFB on the response. With the reproduction example below, ~100ms of TTFB can be added and measured with confidence when comparing a single unused route having a lot of dependencies vs not including that page in the deploy.

comparison, without large-page, with large-page

Reproduction
Please see https://github.com/juanferreras/next-cold-start. It's a next pages router with 2 routes (/ and /large-page), but middleware always returning the response.

Clone it
Deploy it as-is, use WebPageTest or any tool to measure TTFB (note reutilization of isolates can mask the issue)
Move/delete large-page so it isn't included in the build
Deploy again, use WebPageTest or any tool to measure TTFB

Expected result: unless I'm wrong, there shouldn't really be any measurable difference except when executing the large route itself as we aren't really compiling/parsing/executing its dependencies.
Pages Deployment Method
Direct Upload (wrangler pages publish or the @cloudflare/pages-action GitHub Action)
Pages Deployment ID
next-cold-start
Additional Information
I've benchmarked things inside next-on-pages and I couldn't find the culprit. I've tried --no-build (from an recently merged PR in workers-sdk which fixed it for workerJsDir) and it didn't seem to change either (e.g. that seems to govern only the first-party code of next-on-pages, but either way the additional modules seem to be uploaded as different files).
Is this running into any implementation detail at the infrastructure level (e.g. cold starts requiring time to move modules over)? Is it something rather binary, once a worker needs more than >1MB gzipped, or something that will continue worsening metrics until the 10MB gzipped cap? (I can tweak the reproduction to reflect this but I'm quite confidently leaning towards the latter, the more code in any route, the slower all become)
Would you like to help?

[X] Would you like to help fixing this bug?

Thanks so very much for such a comprehensive and well studied issue @juanferreras! ❤
As you said the lazy loading strategy should make next-on-pages apps as performant as possible, so my gut feeling on this is that this is a technical limitation of the Cloudflare network as maybe pulling the user code adds such cold start delays...
But I'll have to investigate this (hopefully I'm wrong as I'd love it if we could this 🙂).
I've checked your reproduction and its output and it looks to me like there is not obvious fault of next-on-pages 😕
What I want to do next, is to actually create a minimal reproduction using Pages with a plain _worker.js directory and lazy loading and see if we can recreate this there, that should make it clear at least if the issue is actually related to next-on-pages or not and we can then take it from there and see how to best proceed (having such a minimal repro should also make it easier to trace the thing internally and share it with other teams if need be).
I'll do that in the next few days and I'll let you know how it goes 🙂, but if you do have extra cycles and would actually like to look into that please feel free 😄

We've discussed with @dario-piotrowicz and we've confirmed this issue is not related to next-on-pages code specifically.
I've conducted further tests based on his much-appreciated insights and I'm moving the issue over to https://github.com/cloudflare/workers-sdk/issues/5415
Thanks!


Performance: 1.2% Avoid DSR extractIdFromUri

Optimized implementation avoids expensive StringUtils.Split
Before the FlameGraph is like with 0.4% CPU samples

Full benchmark run shows AVG of 1.2% total time gain.

Before change 83, 82, 78, 81, 82 -> AVG = 81.2
After change   82, 79, 80, 81, 79 -> AVG = 80.2

/azp help

/azp run java - cosmos - tests

/azp run java-cosmos-tests


Could you provide an example of using ngram to predict the factuality of a sentence?

Hi @potsawee , thanks for sharing your awesome work.
However, when trying to run your code, I found that even though there is an n-gram model, there are no examples of its usage provided. The n-gram model is very different from the others since its score ranges $[0, inf]$ while others range $[0,1]$. I tried using your method of normalizing it with $\frac{x-x_{\max}}{x_{\max}-x_{\min}}$, but this is probably not precise enough as the $x$ values during one output can all be similarly high or similarly low, thus not a reliable normalization method.
I wonder if my understanding has problems. Therefore, could you please share some better methods of normalizing, point out my problems, and share an example of evaluating the hallucination score using the n-gram method?  Thanks.

Hi @Amano-Aki, Thanks for trying out the work!
The n-gram variant is, at the moment, meant for ranking candidates, e.g., (1) sentence-level detection = ranking within the same document;  or(2) passage-level ranking.
I only applied normalization ( $[0, inf) \rightarrow [0,1]$ ) when I tried combing scores of different variants. However, in obtaining AUC-PR and Correlation in the paper, I didn't normalize the n-gram score.
Apologise for the mistake in the current version of the paper on arxiv about the n-gram method. An updated paper will be made available soon. Also, you could try out SelfCheck with NLI and SelfCheck with LLM-prompting (e.g. Llama2) as well.


Story Map "Snap to Grid" button hover error

The Story Map's Snap to Grid button is showing element.text (On) or element.text (Off) (respectively) on hover. I'm not 100% sure what it's supposed to show, but this seems incorrect.

Patched in v0.14.6. Thanks for the catch!


Europa raid doesn't show up

Europa (Impossible) raid doesn't show up at all, which is weird considering we have boosted water raids :|

The issue is that those raids were marked as sensitive content and you need to disable that filter in your search settings since that type of content is hidden by default.  If you go into Settings > Privacy > Content you see > Search > and tick the hide sensitive content box, those raids stop showing up in tweetdeck and you get this message instead.

Not sure if this raid tracker uses an account to scrape, but if so that setting needs to be disabled for them to be searchable.

Oh ok that makes sense. I was trying to figure out the cause of the problem, but that seems like it could be it.
I'll diagnose further and work on finding a solution soon.

this should be fixed now
let me know if there are further issues


add FDJUMP parameters to the designmmatrix

For the IPTA DR3 combination new parameters describing DM offsets between different PTA data sets have been introduced in tempo2: FDJUMP and FDJUMPDM
https://bitbucket.org/psrsoft/tempo2/pull-requests/84
and related pull requests in tempo2
This PR adds these FDJUMPX parameters to libstempo, such they are included in the designmatrix and can be passed to enterprise.
The structure follows the normal phase JUMP parameters with FDJUMP and FDJUMPDM parameters being called numbered FDJUMPX in libstempo.

yes, will do that later. Actually, this still needs some testing to be sure that it works properly with tempo2. So, not urgent for now.
As I mentioned in the other #69 , feel free to go ahead with 3.5.0. Once the PRs to add the new functionality from tempo2 are done, we can update to 3.5.X.

I've released v2.5.0 on PyPI now and will update the conda installable version too.

I re-ran the test that failed and it seemed to work.

I've merged this in now and am happy to wait and see if there are any fixes required before publishing a new release.


[Price category] Price categories on the diaper calculator page are not translated into English localization

Environment: Windows 10, 64-bit
Opera One (101.0.4843.43)
Reproducible: always
Preconditions

Site https://zero-waste-staging.onrender.com/uk is opened.
Admin is logged in.

Steps to reproduce

Open Diaper calculator page
Click on 'English' button localization
Choose first category or second.

Actual result
On the diaper calculator page, the price categories are displayed in Ukrainian: Бюджетна, Середня, Преміум in the drop-down list
https://github.com/ita-social-projects/ZeroWaste/assets/138609814/cd6d33ad-7882-435a-821c-aca781b76b70
Expected result
On the diaper calculator page, the price categories should be named Economy, Average, Premium in the English localization of the drop-down list.
User story and test case links
E.g.: "User story #427
Labels to be added
"Bug", Priority ("pri: "hight), Severity ("severity:"medium), Type ("Localization")

Fixed


Use a separate database for staging

$ heroku addons:create heroku-postgresql:hobby-dev -a muckr-service-staging
Creating heroku-postgresql:hobby-dev on ⬢ muckr-service-staging... free
Database has been created and is available
 ! This database is empty. If upgrading, you can transfer
 ! data from another database with pg:copy
Created postgresql-defined-98190 as HEROKU_POSTGRESQL_OLIVE_URL
Use heroku addons:docs heroku-postgresql to view documentation

$ heroku pg:copy --app muckr-service-staging postgresql-cylindrical-90660 postgresql-defined-98190
 ▸    WARNING: Destructive action
 ▸    This command will remove all data from OLIVE
 ▸    Data from DATABASE will then be transferred to OLIVE
 ▸    To proceed, type muckr-service-staging or re-run this command with
 ▸    --confirm muckr-service-staging

> muckr-service-staging
Starting copy of DATABASE to OLIVE... done
Copying... done

staging: Remove attachment to postgresql-cylindrical-90660

staging: Add config variable DATABASE_URL with value postgresql-defined-98190


Code Quality Improvement - Serializable classes should have a version id

This pull request is focused on resolving occurrences of Sonar rule squid:S2057 - “Serializable classes should have a version id”. You can find more information about the issue here: https://dev.eclipse.org/sonar/rules/show/squid:S2057.
Please let me know if you have any questions.
Christian

:+1:
I would very much recommend checkstyle to capture and prevent issues like this. It's very easy to detect these with an automated tool.

@civanyp : thanks
@mmoayyed : you're right, we'll do that in version 1.9: https://github.com/pac4j/pac4j/issues/402


Make PowerToys Run permanantly attached to desktop, also add feature to move it, and snap at top, centre, sideways and bottom?

📝 Provide a description of the new feature
This feature will remove the default search bar, and attach a permanent search prompt onto the desktop. Also, adds additional behaviour which will snap when user clicks shift+drag. And blurs, on using windows, or losing focus?
What is the expected behavior of the proposed feature?  What is the scenario this would be used?
It will replace the search bar, and add it in the middle of the screen, which is how I want my indexing to be, not the old boring start menu one. Maybe, it will also have feature to completely index the whole partition. And please, don't link it to search engine. Don't mess this up, like you did it to the start menu search. Just add a "Search on web" button to redirect to the browser.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

There are other open issues asking for the same/similar options, we should close the duplicates.


CUDA: Replace CachedPTX and CachedCUFunction with CUDACodeLibrary functionality

Note: This PR is based on #6735 - the latest four commits are unique to this PR and can each be examined individually to understand the changes here.
This commit removes CachedPTX and CachedCUFunction, replacing them with additions to the CUDACodeLibrary. This aligns the CUDA target with more of the infrastructure in the core of Numba, simplifies the organization of code generation and caching, and provides some other benefits - generally it lays the foundation for implementations of on-disk caching of compiled kernels, ahead-of-time compilation, and improving debugging support for CUDA kernels. This description is expanded on in the final commit's message.
This PR also includes some other small changes and fixes - see individual commit messages for details.

Also, conflicts need resolving, thanks!

@stuartarchibald Many thanks for the review - conflicts resolved and comments now addressed.

Leaving the waiting-on-reviewer label present as @sklam might want to take a look too.

Buildfarm ID: numba_smoketest_cuda_yaml_26.

Think this is just waiting for a build farm run now.

Buildfarm ID: numba_smoketest_cuda_yaml_30.

Buildfarm ID: numba_smoketest_cuda_yaml_30.

Passed.


There is a method in the PoorCode class named "b". What does that even mean? Rename the method and add some comments describing what it does!
https://github.com/SergeyOvchinnik/open-class/blob/main/src/PoorCode.java#L166

I'll do this


Broken animations on model imported using Assimp

Version
3.3.4 (snapshot)
Platform
Windows x64
JDK
OpenJDK 22
Module
Assimp
Bug description
After confirming my test from #990 passed in the latest snapshot, I tried using it in my main project and found that the model loads, but several of the animation keyframes are corrupted. The bug is mainly visual so was hard to make a test case for, but I checked the Assimp issues and looks like someone reported a strikingly similar issue there: https://github.com/assimp/assimp/issues/5642
That looks very similar to what I am seeing and is the same kind of model file as I am using. I am assuming this is probably similar to the last Assimp bug, and just requires a patch to the dependency. Even so, I have attached two log files that I dumped, one from latest stable test_33.log and one from the snapshot test_43.log that can be diffed to see where there animation data is corrupted.
I can try and make a more concrete test if it helps, but am hoping it's just a quick patch.
test_model_logs.zip
Stacktrace or crash log output
No response

Hey @controllerface,
There's a new Assimp build up with the patch applied, could you please test to see if the issue is fixed?
Download https://build.lwjgl.org/nightly/windows/x64/assimp.dll (for Windows x64) and run your application with -Dorg.lwjgl.assimp.libname=<path> or Configuration.ASSIMP_LIBRARY_NAME.set("<path>"), where <path> is the path to the downloaded file.

Gave it a shot, unfortunately it did not fix the issue, and it made it quite a bit worse. The model is still all scrambled and is also scaled to a crazy size. Just to confirm, I scaled down my model, which I usually render with a scale of 1.0, to .01 and the model's proportions looked more correct, but the positions are even crazier than before.
Will attach some screenshots. Here's one base line showing what it normally looks like in 3.3.3, and then 3 bad ones, bad.png is with current snapshot, bad2.png is with the dll and using the snapshot, and bad3.png is the dll file but forcing the model scale to .01.

Let me know if I can help debug further.

The patched Assimp build includes this commit: https://github.com/assimp/assimp/pull/5643/commits/ea988c13f08706c78985f8b00a9e8241d4a1a1e3. Not sure what else to try, any ideas?

Nothing obvious, I don't think anything is likely to fix it short of rolling back to an older version.
I did do more diving through their GH open issues and did find several other bugs that looks similar, some with recent activity. Probably not much can be done until those bugs are sorted, I definitely don't have the expertise needed to try and fix the bug in Assimp myself.
Thanks for at least taking a look at this. For the time being I will just stick to a working release, and try new snapshots as they come out, hopefully it gets sorted at some point.

Switched to gLTF format and that works, so I will close. I've got reason to prefer .fbx anyway.


Help Request - Does the ngc work with Typescript Definition files?

I'm building an Ionic 2 app that targets Windows 10 UWP. I access the winrt API's in my code directly, like this.
var localFolder = Windows.Storage.ApplicationData.current.localFolder;
And I've included the winrt definitelyType file in my typings.json config
{
  "dependencies": {},
  "devDependencies": {},
  "globalDependencies": {
    "angular-protractor": "registry:dt/angular-protractor#1.5.0+20160425143459",
    "core-js": "registry:dt/core-js#0.0.0+20160725163759",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160831021119",
    "selenium-webdriver": "registry:dt/selenium-webdriver#2.44.0+20160317120654",
    "winrt": "registry:dt/winrt#0.0.0+20160622234326"
  }
}

Compiling with tsc works, but I get an error with the ngc.
Error at C:/source/repos/Ionic/.tmp/services/localstorage.service.ts:10:19: Cannot find name 'Windows'.
This makes me think that either ngc doesn't support my Typescript definition files, or I've configured something wrong.
Does anyone have ideas as to how to work around this problem?

I bring tidings of great news! Right now my project is configured to use typings globally. However, I've found that if I manually add a reference to the definition file, the ngc uses it. Basically, put this at the top of your Typescript file, and then compile. Hope this helps someone.
/// <reference path="../../typings/globals/winrt/index.d.ts" />

Heya @mtycholaz, you should be able to do npm install @types/winrt --save-dev to get the typings, nothing else needed!


Plot code --- use OOP style

Some of the lectures use Matlab style (procedural) rather than OOP style figure generation, which contradicts our recommendations.
One example is hs_invertibility_example.
@AnjuJoon Are you able to fix this and see if it's an issue in other lectures?

Yeah sure @jstac I will fix this


Will you publish the Llama3 fine-tuned model?

Hi! massive thanks for your very cool work!!
I noticed that you have conducted experiments with Llama3 (see validation/llama3_tuning.md). Will you publish the fine-tuned weights for both 8b and 70b models?
Thanks in advance!

@jujipotle Do you want to have a look at this?

Hi @likenneth @jujipotle any update on this one? We observed the same tendency that Llama3 tends to reject answering TruthfulQA a lot more than Llama2, it would be awesome if we can include the comparison against ITI on our study!

Hi @aryopg, @jujipotle made the effort to upload baked-in models to Huggingface! Please check out the updated README.


remove 'return'

looks unnecessary :grinning:

Although it's unnecessary, I think this kind of thing is generally too trivial to bother opening a PR for by itself.

Can one of the admins verify this patch?

Agree. But since we have a PR already, let's call Jenkins:)
ok to test

test this please

Test build #26333 has started for   PR 4268 at commit 12be0e9.

This patch merges cleanly.

Test build #26333 has finished for   PR 4268 at commit 12be0e9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26333/
Test PASSed.


Hope to support vite

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Problem description
Hope to support vite+Typescript
Proposed solution
Hope to support vite+Typescript
Alternatives considered
Hope to support vite+Typescript
Additional information
No response

We are supporting.
See: https://github.com/electron/forge/pull/3071

Duplicate of #2954.

When will it merge?

Any updates here on when this will merge? Very excited for this!

Hi! We're currently prepping the next Forge release. We'll need to prep some more detailed docs for our new features. Hopefully this will land by the end of the week. :)

@erickzhao sorry to bug you but thinking it will be soon? :) In the meantime, if I need to get a project started, is it safe to say that your implementation is very similar to https://github.com/electron-vite/vite-plugin-electron and that I can just start using that and port over to the forge implementation when it is released?
And/or this one that I know you all were testing with... is this something I could use in the meantime? https://www.npmjs.com/package/electron-forge-plugin-vite


python cyclic deps

Handle cyclic dependencies in python based on the helpful patch from #1166. Also updated some packages and bumped up minor since this is a potential breaking change for python users.
cc: @MohammedAziz02

@cerrussell Getting metadata matched error. Any ideas?


[Feature Request] Offline Database

Is your feature request related to a problem? Please describe.
Somehow.
Describe the solution you'd like
A fully offline database bundled with app or downloadable through app.
Describe alternatives you've considered
Additional context
Add any other context or screenshots about the feature request here.

The app should work just fine without internet, given that all the entries have been downloaded atleast once

The app should work just fine without internet, given that all the entries have been downloaded atleast once

I understand that, but it would greatly enhance the user experience if the app included a local version of all entries. This would be especially beneficial for scenarios where there is limited or no internet connection.
Just like https://github.com/SimonSchubert/LinuxCommandLibrary, which provides full man database in just 14MB apk.

+1 on this. Being able to access help for commands seldom used when offline (such as an Internet outage) would be very useful.


How to Handle a Broken Pipe (SIGPIPE) in UVW?

Hello,
I'm currently working on an application using UVW's PipeHandle to communicate via UNIX sockets. I've encountered a situation where the application unexpectedly exits with a status code 141 (which corresponds to a broken pipe) when a client abruptly closes the connection.
Here's the scenario: the server is processing a long task (like sleeping for several seconds :laughing: ), and during this time, the client (using netcat) forcefully closes the connection. In this situation, my application does not seem to catch this event with an ErrorEvent but rather exits with code 141.
Could you please provide some guidance on how to handle this scenario? Should UVW's ErrorEvent be able to capture such a situation, or is there another event or method I should be using to prevent the application from terminating in this way?
Steps to reproduce:

Run the server application (provided below).
Connect to the UNIX socket using netcat with nc -U /tmp/zz_onlyCPP.sock.
Send the message wait 10 from netcat to make the server sleep for 10 seconds.
While the server is sleeping, forcefully close the netcat client with ctrl+c.
Observe the server application's termination with exit code 141, indicating a broken pipe.

Code to reproduce:
Toggle me!
#include <chrono>
#include <functional>
#include <iostream>
#include <string>
#include <thread>
#include <unordered_map>

#include <unistd.h> // Unlink

#include <logging/logging.hpp>
#include <uvw.hpp>

void configureCloseClient(std::shared_ptr<uvw::PipeHandle> client)
{

    auto gracefullEnd = [client]()
    {
        if (!client->closing())
        {
            client->close();
            std::cout << "Client closed" << std::endl;
        }
    };

    // On error
    client->on<uvw::ErrorEvent>(
        [gracefullEnd](const uvw::ErrorEvent& error, uvw::PipeHandle& client)
        {
            std::cout << "Error: " << error.name() << " - " << error.what() << std::endl;
            gracefullEnd();
        });

    // On close
    client->on<uvw::CloseEvent>(
        [gracefullEnd](const uvw::CloseEvent&, uvw::PipeHandle& client)
        {
            std::cout << "CloseEvent" << std::endl;
            gracefullEnd();
        });

    // On Shutdown
    client->on<uvw::ShutdownEvent>(
        [gracefullEnd](const uvw::ShutdownEvent&, uvw::PipeHandle& client)
        {
            std::cout << "Client shutdown connection" << std::endl;
            gracefullEnd();
        });

    // End event
    client->on<uvw::EndEvent>(
        [gracefullEnd](const uvw::EndEvent&, uvw::PipeHandle& client)
        {
            std::cout << "Client ended connection" << std::endl;
            gracefullEnd();
        });
}

std::shared_ptr<uvw::PipeHandle> createClient(std::shared_ptr<uvw::Loop> loop)
{
    // Create a new client
    auto client = loop->resource<uvw::PipeHandle>();

    // Configure the close events for the client
    configureCloseClient(client);

    // Create 1 protocol handler per client
    client->on<uvw::DataEvent>(
        [client](const uvw::DataEvent& data, uvw::PipeHandle& clienRef)
        {
            // Add header and attach the loopback data
            auto dataStr = std::string(data.data.get(), data.length);
            std::cout << "Received: " << dataStr << std::endl;
            auto Loopback = fmt::format("Loopback: {}", dataStr);

            // if received data is  "wait xxx" then wait xxx seconds
            std::string waitPrefix = "wait ";
            if (dataStr.substr(0, waitPrefix.size()) == waitPrefix)
            {
                auto waitTime = std::stoi(dataStr.substr(waitPrefix.size()));
                std::cout << "Waiting " << waitTime << " seconds" << std::endl;
                std::this_thread::sleep_for(std::chrono::seconds(waitTime));
                std::cout << "Waited " << waitTime << " seconds" << std::endl;
            }

            // Write the data back to the client
            client->write(Loopback.data(), Loopback.size());
            std::cout << "Sent: " << Loopback << std::endl;

            // If the received data is "exit" then close the client
            if (dataStr == "exit\n")
            {
                std::cout << "Client requested exit" << std::endl;
                client->close();
            }
        });

    return client;
}

int main()
{

    constexpr auto UNIX_SOCKET_PATH = "/tmp/zz_onlyCPP.sock";

    // Create the loop
    auto loop = uvw::Loop::getDefault();

    // Handle event loop
    loop->on<uvw::ErrorEvent>([](const uvw::ErrorEvent& e, uvw::Loop&)
                              { std::cout << "Error: " << e.name() << " - " << e.what() << std::endl; });

    // Create the socket server
    auto unixServer = loop->resource<uvw::PipeHandle>();

    // Bind
    unixServer->bind(UNIX_SOCKET_PATH);

    // Server in case of error
    unixServer->on<uvw::ErrorEvent>([](const uvw::ErrorEvent& event, uvw::PipeHandle& handle)
                                    { std::cout << "Error: " << event.name() << " - " << event.what() << std::endl; });

    // Server in case of close
    unixServer->on<uvw::CloseEvent>([](const uvw::CloseEvent&, uvw::PipeHandle& handle)
                                    { std::cout << "Closed" << std::endl; });

    // Server in case of connection
    unixServer->on<uvw::ListenEvent>(
        [loop](const uvw::ListenEvent&, uvw::PipeHandle& handle)
        {
            std::cout << "Listening" << std::endl;
            auto client = createClient(loop);
            handle.accept(*client);
            std::cout << "Client accepted" << std::endl;
            client->read();
        });

    // Listen for incoming connections
    unixServer->listen();

    // Run the loop
    loop->run();

    return 0;
}

Environment:

TAG:  v2.3.1_libuv-v1.34

╰─# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:        20.04
Codename:       focal
╰─# uname -a
Linux 201-dev-engine 5.4.0-152-generic #169-Ubuntu SMP Tue Jun 6 22:23:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Thank you for your response and guidance. Following your suggestion, I've investigated this further and I believe I've identified the solution based on the capabilities of libuv.
The issue seems to stem from a signal known as SIGPIPE, which is sent to a process when it attempts to write to a pipe without a reader. When this signal is not handled, the process gets terminated with a status code 141 indicating a broken pipe. This is exactly the situation I am experiencing when the client abruptly disconnects.
After doing some research, I came across these relevant resources:

Libev Documentation that details the issue with SIGPIPE and how it can be addressed.
libuv Documentation further explains how libuv handles this internally.

Based on these sources, the solution is to ignore the SIGPIPE signal, allowing libuv to handle the situation and prevent the application from terminating unexpectedly. This can be done using the signal() function like so:
signal(SIGPIPE, SIG_IGN);

By adding this line of code, any SIGPIPE signals that occur are simply ignored, and libuv is allowed to manage the situation as it was designed to. This appears to have resolved the issue on my end.
I hope this solution can be of help to other developers who might encounter a similar issue. Let me know if there's anything else that should be addressed or explained further.


FUN.md seems to be broken at Level 11

Description
Running cosign (installed via brew) version

/ |  / _ \  / |  | |  / | | \ | |
| |     | | | | _ \   | |  | |  _  |  | |
| |  | || |  ) |  | |  | || | | |\  |
_|  _/  |/  ||  __| || _|
cosign
GitVersion:    1.6.0
GitCommit:     4b2c3c0c8ee97f31b9dac3859b40e0a48b8648ee
GitTreeState:  "clean"
BuildDate:     2022-03-03T17:59:06Z
GoVersion:     go1.17.8
Compiler:      gc
Platform:      darwin/amd64
and rekor-cli (installed via go install command) version
GitVersion:    v0.5.0
GitCommit:     unknown
GitTreeState:  unknown
BuildDate:     unknown
GoVersion:     go1.17.8
Compiler:      gc
Platform:      darwin/amd64
I found that the Level 11 instructions at the verify-blob command failed due to a change in the JSON return value in the rekor-cli command fetching both the sig and the cert values.

Fixed with #1633!


diffbar takes more height than available in PR toolbar

Steps to reproduce:

Visit any PR in which diff requires scrolling the page.
Switch to diff tab, and scroll the page.
Notice that when refined-github is enabled, diffbar takes more height than it's parent PR toolbar

refined-github disabled:

refined-github enabled:

Duplicate of #2291.


AI Chatbot for DNCEng: Team Reminders

Explore a bot feature that gives time sensitive team reminders
Investigate a bot feature that has the ability to track the FR rotation

Closing in favor of tracking this effort in dotnet/dnceng#541.


Enum types with uppercase letters not working

PostgreSQL install on windows.

in my context
static PgSqlDbContext()
 {
     NpgsqlConnection.GlobalTypeMapper.MapEnum<Mood>("Mood");
  }

 protected override void OnModelCreating(ModelBuilder modelBuilder)
  {
            modelBuilder.ForNpgsqlHasEnum("Mood", new[] { "happy", "sad" });

            modelBuilder.Entity<News>().ForNpgsqlHasComment("测试新闻类的注释");

            modelBuilder.Entity<News>().ForNpgsqlUseXminAsConcurrencyToken();

            base.OnModelCreating(modelBuilder);
}

my model
public class News
    {
        [Key]

        public int NewsId { get; set; }

        [StringLength(200)]
        public string Titile { get; set; }

        public Instant CrateTime { get; set; }

        public string[] Tags { get; set; }

        public List<string> AlternativeTags { get; set; }

        public Mood Mood { get; set; }
    }

    public enum Mood
    {
        [PgName("happy")]
        Happy,

        [PgName("sad")]
        Sad,
    }

Can you please post the querying C# code?

using (var serviceScope = app.ApplicationServices.GetService().CreateScope())
{
var context = serviceScope.ServiceProvider.GetRequiredService();
context.Database.EnsureDeleted();
context.Database.EnsureCreated();  //throw this exception
}

modelBuilder.ForNpgsqlHasEnum("mood", new[] { "happy", "sad" });
"happy", "sad" must be lowercase
if i use uppercase and my enum
public enum Mood
    {
        Happy,

        Sad,
    }

throw another exception

This is because of #396...
Type names are like other identifiers - if unquoted they are folded to lowercase by PostgreSQL. The problem is that there are people out there specifying the column types as uppercase TEXT, and adding quotes would break their code.
The fix is to only ever quote only user-defined type names (enums, composites in the future), continuing to allow other types to be specified in lower/upper case etc.

@roji  but on http://www.npgsql.org/efcore/mapping/enum.html
Still using uppercase,

@quan01994 I don't understand your comment...
I pushed a fix that will allow you to use uppercase enum type names - this will be released in 4.0.1. Until that comes out you have to use lowercase names. I don't see any reason to change the docs since the uppercase issue is fixed...

You can use lowercase-only enum names in 4.0.0, but using any uppercase letters will cause a failure. This is fixed in 4.0.1, where you'll be able to use any name you want, uppercase or lowercase.

thanks  👍 : )

Also worth noting that an enum with a value of
public Enum Mood{     "Happy",     "NotHappy" }
must be mapped...
modelBuilder.ForNpgsqlHasEnum("mood", new[] { "happy", "not_happy" });
Is this the expected behavior?

@JNBarnes you're referring to the fact that the .NET enum has Happy and NotHappy, while the PostgreSQL enum needs to have happy and not_happy? If so, you need to read about name translation in the docs.


"bsonType"

Is it possible to extend the validator with the mongodb specific "type" data "bsontype" as shown on
https://docs.mongodb.com/manual/reference/operator/query/jsonSchema/#extensions
This would allow validation of records read from mongodb databases.

We will never merge such a change here, because it's completely outside of the spec.
The type system in this library wasn't designed to be extensible, because JSON schema prescribes a very limited list of primitive types. It's doable, if you want to maintain your own fork - but note that it'll be somewhat annoying, as there are type assumptions etc. all over the place; it's not nicely centralised in one place.

It's too bad we don't have some kind of plugin system. That's how they tackled the bsonType situation over at AJV: https://github.com/BoLaMN/ajv-bsontype
That said, if @thawkins is determined, there's always the fact that virtually any of our constraint classes can be overridden and fed back into the system. I don't know how deep the bsonType rabbit hole goes, but it might be worth tinkering with.

@thawkins If you're really keen to do this, I'd be open to merging things here that simplify and / or modularise the type system, providing it remains spec-compliant and doesn't cause performance issues. That may make maintaining a bsonType fork or extension somewhat easier for you.
As @shmax says, our constraint classes are extensible, although the type system is not. But if you want to deal with bsonType as a completely independent custom keyword, that would be the place to start

I will look at what is required


Implement kikito's lua module guide

[ ] Rule #6: Break the rules April 14, 2014
[ ] Rule #5: Beware of multiple files April 12, 2014
[ ] Rule #4: Make stateless modules April 11, 2014
[ ] Rule #3: Allow monkeypatching April 04, 2014
[ ] Rule #2: Return a local table March 31, 2014
[ ] Rule #1: Do what Lua does

ddb3229673235dcf2f7246b90ac7008a75d36cec

d2029170cab251c13afd26abb31cbc73dffdf455

ea37af8fdfad3374c293a6c155b83ff222d4afa4


Don't maintain roads or containers when when economy is crashed

This Pull Request has been merged by GitConsensus.
Vote Totals

Yes
No
Abstain
Voters

3
0
0
3

Vote Breakdown

User
Yes
No
Abstain

tedivm
✔

starwar15432
✔

PostCrafter
✔

Vote Results

Criteria
Result

Has Quorum
True

Has Votes
True


Improve formatting of chain parameters, fix help text

Purpose
Fix help text.
Improve formatting and legibility of the chain parameter display.
# Baker parameters
  + baker extra cooldown: 1 epochs
  + stake threshold to become a baker: 10.000000 CCD

# Exchange rate parameters:
  + EUR per CCD rate (approx): 0.0100
  + EUR per Energy rate: 1 / 1000000 (approx 1.0e-6)
  + microCCD per EUR rate: 100000000 / 1 (approx 1.0e8)

# Parameters that affect rewards distribution:
  + mint rate per slot: 7555665e-16
  + mint distribution:
     * baking reward: 0.6
     * finalization reward: 0.3
  + transaction fee distribution:
     * baker: 0.45
     * GAS account: 0.45
  + GAS rewards:
     * baking a block: 0.25
     * adding a finalization proof: 5.0e-3
     * adding a credential deployment: 2.0e-2
     * adding a chain update: 5.0e-3

# Other parameters:
  + election difficulty: 2.5e-2
  + foundation account index: 5
  + maximum credential deployments per block: 10

and for P4
# Parameters related to baker pools:
  + minimum stake to be a baker: 100.000000 CCD
  + maximum fraction of total stake a pool is allowed hold: 0.5
  + maximum factor a pool may stake relative to the baker's stake: 5 % 1
  + pool owner cooldown duration: 1h
  + allowed range for finalization commission: [0.0, 1.0]
  + allowed range for baking commission: [0.0, 1.0]
  + allowed range for transaction commission: [0.0, 1.0]

# Passive delegation parameters:
  + finalization commission: 0.0
  + baking commission: 0.1
  + transaction commission: 0.1
  + delegator cooldown duration: 30m

# Exchange rate parameters:
  - EUR per CCD rate (approx): 0.0100
  - EUR per Energy rate: 1 / 1000000 (approx 1.0e-6)
  - microCCD per EUR rate: 100000000 / 1 (approx 1.0e8)

# Parameters that affect rewards distribution:
  + mint amount per reward period: 1e-5
  + mint distribution:
     * baking reward: 0.6
     * finalization reward: 0.3
  + transaction fee distribution:
     * baker: 0.45
     * GAS account: 0.45
  + GAS rewards:
     * baking a block: 0.25
     * adding a finalization proof: 5.0e-3
     * adding a credential deployment: 2.0e-2
     * adding a chain update: 5.0e-3

# Time parameters:
  + reward period length: 4 epochs

# Other parameters:
  + election difficulty: 2.5e-2
  + foundation account index: 5
  + maximum credential deployments per block: 10

Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

@eb-concordium  can you also review the display of chain parameters?
The previous display was rushed and was not very legible.


InterfaceBridge missing definition in OpenAPI

Using the Python client, I hit an error about v1.InterfaceBridge, https://github.com/kubevirt/client-python/issues/21, looking further I found the API definition contains the type, but it's empty, therefore the python client generated references to it, but has no implementation for it.

@SchSeba can you take a look?

I take a look at the issue. The problem is the swagger-codegen don't generate empty structs I also was not able to find any hack to tell the codegen to create the model. The problem will be fixed if we implement the delegate variable inside the bridge struct or any other configuration inside of it.

After a quick talk with @rmohr I will hard coded our both empty class (bridge interface and slirp interface) to create an empty module for our python-sdk.
@fabiand @booxter @vladikr  It sounds good?
I have an open issue on the swagger-codegen page but no one answer there.
This can be a short term solution and after that I can try to make a pull request on the swagger repo.

My PR is ready waiting to this issue to be resolved before push it because I cant test it now.


Very helpful article

Very helpful article for beginners also. I was searching this article on blogs but found here at MS-Azure KB.
I have configured P2S very easily refer this article.
I want to know is it possible to configure the ASR (VMware VM) for my test P2S network failover and failback.
Thanks,
Tushar

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

ID: aa7be494-b0c4-1e92-829e-119b05aadcb5
Version Independent ID: e2032468-6c27-a6a6-6194-591ca21a3c55
Content: Connect a computer to an Azure virtual network using Point-to-Site and native Azure certificate authentication: PowerShell
Content Source: articles/vpn-gateway/vpn-gateway-howto-point-to-site-rm-ps.md
Service: vpn-gateway
Product: unspecified
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@tusharjambhekar Thank you for your feedback! We will investigate and get back to you with our findings.


Features: Disable scrolling e double right click zoom out

Hi Erik!
There are any chances of one of this features be add to the plugin?
Disable scrolling:  Actually I am setting the width of the svg to 100% and it is working fine, but when the user starts to scroll the screen, the cursor come over the dTree layer and it starts to zoom in and zoom out, sometimes it would be nice to disable scrolling zoom in and zoom out, so the user keep scrolling the screen.
Double right click: if we disable the scroll (zoom in/out) we gonna need to add something like double right click to work as zoom out (double left already works as zoom in).

Cheers.

Hi @lipedeitos!
Thanks for your feedback!
To zoom out using double clicking you can already use  shift + double left click.
Regarding disabling scrolling this has already been requested in #49. So I'm gonna close this issue. Please continue the discussion about this feature in the original issue.
I can say however that I'm gonna be very busy these coming weeks. Feel free to make a pull request and if you need help I'll try to guide you. You can also make a manual fix disabling the d3 scroll on zoom. See this: https://github.com/d3/d3-zoom/issues/80
/Erik

For those who need to add a emergency fix:
d3.select(selector)                 .on("wheel.zoom", null)                 .on("mousewheel.zoom", null)                 .on("mousemove.zoom", null)                 .on("DOMMouseScroll.zoom", null)
Cheers!


⚠ SceneTime has degraded performance

In 63c1771, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1310 ms

Resolved: SceneTime performance has improved in b83cb51 after 12 minutes.