Stardoc doesn't handle generated bzl dependencies

If, in a transitive bzl_library dependency, one of the sources is generated, the input file to stardoc instead of living under the workspace lives under bazel-out instead of relative to the execution root. Stardoc thus has no idea where to find it.
For example, a proper input file path looks like:
foo/bar.bzl

But a generated input file path looks like:
bazel-out/k8-opt/bin/foo/bar.bzl

My plan here is:

Modify Stardoc binary to take a new optional flag, "--dep_roots" each entry represents a root path directory to evaluate dependencies. To fix the example in #7, we would pass --dep_roots=bazel-out/k8-opt/bin
Stardoc will thus, when looking for a bzl file across a transitive dependency, try:

Finding the dependency rooted at an entry of dep_roots, in order
Finding the dependency rooted at the current directory
Giving up and throwing an exception

Modify the stardoc Starlark rule to include values of --dep_roots to the invocation of the Stardoc binary. These arguments will be added with:

def _root_from_path(f):
     return f.root.path

def _stardoc_impl(ctx)
      ...
      args = ctx.actions.args()
      args.add_joined("--dep_roots=", inputs,
          join_with = ","
          map_each = _root_from_path,
          omit_if_empty = True,
          uniquify = True)
     ...

The plan looks good.
Do we have use-cases for generated bzl files? Bazel users won't be able to load them.

Correct -- the use case is a team which exposes a bzl_library which explicitly stubs out their "real" rules. This team's users write macros pointing to the team's rules. When these users want to test their own macros, the team encourages their users to depend on the "stub" bzl_library instead of the "real" implementation.
It's a little backwards, but since bzl_library does technically allow generated files, we should have Stardoc handle this case nicely.


flutter项目， iOS使用OC语言， 引入了升级组件后， 无法在模拟器、真机上运行

Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
Running Xcode build...
Xcode build done.                                           15.5s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:13:14: warning: non-breaking space (U+00A0) used instead of regular space
let infoDictionary = Bundle.main.infoDictionary!
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:13:32: warning: non-breaking space (U+00A0) used instead of regular space
let infoDictionary = Bundle.main.infoDictionary!
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:14:14: warning: non-breaking space (U+00A0) used instead of regular space
let majorVersion = infoDictionary["CFBundleShortVersionString"]//主程序版本号
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:17:49: warning: treating a forced downcast to 'String' as optional will never produce 'nil'
map["packageName"] = bundleIdentifier as! String
^
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:17:51: note: use 'as?' to perform a conditional downcast to 'String'
map["packageName"] = bundleIdentifier as! String
^
?
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:17:32: note: add parentheses around the cast to silence this warning
map["packageName"] = bundleIdentifier as! String
^
(                          )
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:18:45: warning: treating a forced downcast to 'String' as optional will never produce 'nil'
map["versionName"] = majorVersion as! String
^
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:18:47: note: use 'as?' to perform a conditional downcast to 'String'
map["versionName"] = majorVersion as! String
^
?
/Users/mac/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_app_upgrade-1.0.2/ios/Classes/SwiftFlutterAppUpgradePlugin.swift:18:32: note: add parentheses around the cast to silence this warning
map["versionName"] = majorVersion as! String
^
(                      )
Pods-Runner-eildaiovnuitqoaoprmuyblcyyyf
ld: warning: Could not find or use auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find or use auto-linked library 'swiftDarwin'
ld: warning: Could not find or use auto-linked library 'swiftUIKit'
ld: warning: Could not find or use auto-linked library 'swiftFoundation'
ld: warning: Could not find or use auto-linked library 'swiftMetal'
ld: warning: Could not find or use auto-linked library 'swiftObjectiveC'
ld: warning: Could not find or use auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find or use auto-linked library 'swiftCompatibility50'
ld: warning: Could not find or use auto-linked library 'swiftCoreImage'
ld: warning: Could not find or use auto-linked library 'swiftCompatibilityDynamicReplacements'
ld: warning: Could not find or use auto-linked library 'swiftDispatch'
ld: warning: Could not find or use auto-linked library 'swiftCoreMedia'
ld: warning: Could not find or use auto-linked library 'swiftQuartzCore'
ld: warning: Could not find or use auto-linked library 'swiftCore'
ld: warning: Could not find or use auto-linked library 'swiftCoreAudio'
ld: warning: Could not find or use auto-linked library 'swiftSwiftOnoneSupport'
Undefined symbols for architecture x86_64:
"base conformance descriptor for Swift.Hashable: Swift.Equatable", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol descriptor for Swift._ObjectiveCBridgeable", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for static Swift._ObjectiveCBridgeable.conditionallyBridgeFromObjectiveC(: A._ObjectiveCType, result: inout A?) -> Swift.Bool", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for static Swift._ObjectiveCBridgeable._unconditionallyBridgeFromObjectiveC(A._ObjectiveCType?) -> A", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol descriptor for Swift.Equatable", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Equatable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"base conformance descriptor for Swift._SwiftNewtypeWrapper: Swift.RawRepresentable", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._SwiftNewtypeWrapper in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol descriptor for Swift.RawRepresentable", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.RawRepresentable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"associated type descriptor for Swift.RawRepresentable.RawValue", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.RawRepresentable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol descriptor for Swift._SwiftNewtypeWrapper", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._SwiftNewtypeWrapper in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift.RawRepresentable.init(rawValue: A.RawValue) -> A?", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.RawRepresentable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift._ObjectiveCBridgeable._bridgeToObjectiveC() -> A._ObjectiveCType", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift.RawRepresentable.rawValue.getter : A.RawValue", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.RawRepresentable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol descriptor for Swift._HasCustomAnyHashableRepresentation", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._HasCustomAnyHashableRepresentation in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift._HasCustomAnyHashableRepresentation._toCustomAnyHashable() -> Swift.AnyHashable?", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._HasCustomAnyHashableRepresentation in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol conformance descriptor for Swift.String : Swift._ObjectiveCBridgeable in Foundation", referenced from:
lazy protocol witness table accessor for type Swift.String and conformance Swift.String : Swift._ObjectiveCBridgeable in Foundation in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"(extension in Swift):Swift._SwiftNewtypeWrapper< where A: Swift.Hashable, A.Swift.RawRepresentable.RawValue: Swift.Hashable>._toCustomAnyHashable() -> Swift.AnyHashable?", referenced from:
protocol witness for Swift._HasCustomAnyHashableRepresentation._toCustomAnyHashable() -> Swift.AnyHashable? in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift._HasCustomAnyHashableRepresentation in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol witness table for Swift.String : Swift.Equatable in Swift", referenced from:
protocol witness for static Swift.Equatable.== infix(A, A) -> Swift.Bool in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Equatable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"(extension in Swift):Swift._SwiftNewtypeWrapper< where A: Swift.Hashable, A.Swift.RawRepresentable.RawValue: Swift.Hashable>._rawHashValue(seed: Swift.Int) -> Swift.Int", referenced from:
protocol witness for Swift.Hashable._rawHashValue(seed: Swift.Int) -> Swift.Int in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift.Hashable.hash(into: inout Swift.Hasher) -> ()", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"(extension in Swift):Swift._SwiftNewtypeWrapper< where A: Swift.Hashable, A.Swift.RawRepresentable.RawValue: Swift.Hashable>.hash(into: inout Swift.Hasher) -> ()", referenced from:
protocol witness for Swift.Hashable.hash(into: inout Swift.Hasher) -> () in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Foundation.URL.bridgeToObjectiveC() -> __C.NSURL", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static (extension in Swift):Swift._SwiftNewtypeWrapper< where A.RawValue: Swift._ObjectiveCBridgeable>._unconditionallyBridgeFromObjectiveC(A.RawValue._ObjectiveCType?) -> A", referenced from:
protocol witness for static Swift._ObjectiveCBridgeable._unconditionallyBridgeFromObjectiveC(A._ObjectiveCType?) -> A in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static (extension in Swift):Swift._SwiftNewtypeWrapper< where A.RawValue: Swift._ObjectiveCBridgeable>.conditionallyBridgeFromObjectiveC(: A.RawValue._ObjectiveCType, result: inout A?) -> Swift.Bool", referenced from:
protocol witness for static Swift._ObjectiveCBridgeable.conditionallyBridgeFromObjectiveC(: A._ObjectiveCType, result: inout A?) -> Swift.Bool in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static (extension in Swift):Swift._SwiftNewtypeWrapper< where A.RawValue: Swift._ObjectiveCBridgeable>.forceBridgeFromObjectiveC(: A.RawValue._ObjectiveCType, result: inout A?) -> ()", referenced from:
protocol witness for static Swift._ObjectiveCBridgeable.forceBridgeFromObjectiveC(: A._ObjectiveCType, result: inout A?) -> () in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.allocateUninitializedArray(Builtin.Word) -> ([A], Builtin.RawPointer)", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Foundation.URL.init(string: __shared Swift.String) -> Foundation.URL?", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.== infix<A where A: Swift.RawRepresentable, A.RawValue: Swift.Equatable>(A, A) -> Swift.Bool", referenced from:
protocol witness for static Swift.Equatable.== infix(A, A) -> Swift.Bool in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Equatable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_deallocObject", referenced from:
l_objectdestroy in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_allocObject", referenced from:
@objc flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"(extension in Foundation):Swift.Dictionary.bridgeToObjectiveC() -> __C.NSDictionary", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_getWitnessTable", referenced from:
lazy protocol witness table accessor for type __C.UIApplicationOpenExternalURLOptionsKey and conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
lazy protocol witness table accessor for type __C.UIApplicationOpenExternalURLOptionsKey and conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.RawRepresentable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
lazy protocol witness table accessor for type __C.UIApplicationOpenExternalURLOptionsKey and conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift._HasCustomAnyHashableRepresentation in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
lazy protocol witness table accessor for type __C.UIApplicationOpenExternalURLOptionsKey and conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Equatable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
lazy protocol witness table accessor for type __C.UIApplicationOpenExternalURLOptionsKey and conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift._SwiftNewtypeWrapper in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
lazy protocol witness table accessor for type Swift.String and conformance Swift.String : Swift._ObjectiveCBridgeable in Foundation in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_getForeignTypeMetadata", referenced from:
type metadata accessor for __C.UIApplicationOpenExternalURLOptionsKey in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for static Swift.Equatable.== infix(A, A) -> Swift.Bool", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Equatable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_getTypeByMangledNameInContext", referenced from:
___swift_instantiateConcreteTypeFromMangledName in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift.Hashable._rawHashValue(seed: Swift.Int) -> Swift.Int", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static (extension in Foundation):Swift.Dictionary.unconditionallyBridgeFromObjectiveC(__C.NSDictionary?) -> [A : B]", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for static Swift._ObjectiveCBridgeable.forceBridgeFromObjectiveC(: A._ObjectiveCType, result: inout A?) -> ()", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.Dictionary.subscript.setter : (A) -> B?", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_retain", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
reabstraction thunk helper from @escaping @callee_guaranteed (@unowned Swift.Bool) -> () to @escaping @callee_unowned @convention(block) (@unowned Swift.Bool) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
_block_copy_helper in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_FORCE_LOAD$_swiftCompatibilityDynamicReplacements", referenced from:
_swift_FORCE_LOAD$swiftCompatibilityDynamicReplacements$_flutter_app_upgrade in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
(maybe you meant: _swift_FORCE_LOAD$swiftCompatibilityDynamicReplacements$_flutter_app_upgrade)
"_swift_FORCE_LOAD$_swiftCompatibility50", referenced from:
_swift_FORCE_LOAD$swiftCompatibility50$_flutter_app_upgrade in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
(maybe you meant: _swift_FORCE_LOAD$swiftCompatibility50$_flutter_app_upgrade)
"(extension in Swift):Swift._SwiftNewtypeWrapper< where A.RawValue: Swift._ObjectiveCBridgeable>._bridgeToObjectiveC() -> A.RawValue._ObjectiveCType", referenced from:
protocol witness for Swift._ObjectiveCBridgeable.bridgeToObjectiveC() -> A.ObjectiveCType in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_bridgeObjectRetain", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
outlined copy of Swift.String? in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
__C.UIApplicationOpenExternalURLOptionsKey.init(rawValue: Swift.String) -> __C.UIApplicationOpenExternalURLOptionsKey in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static (extension in Foundation):Swift.String.unconditionallyBridgeFromObjectiveC(__C.NSString?) -> Swift.String", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
__C.UIApplicationOpenExternalURLOptionsKey.rawValue.getter : Swift.String in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static Swift.String.== infix(Swift.String, Swift.String) -> Swift.Bool", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.assertionFailure(: Swift.StaticString, : Swift.StaticString, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_dynamicCast", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_getObjCClassFromMetadata", referenced from:
@nonobjc __C.FlutterMethodChannel.__allocating_init(name: Swift.String, binaryMessenger: __C.FlutterBinaryMessenger) -> __C.FlutterMethodChannel in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.Dictionary.init() -> [A : B]", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_bridgeObjectRelease", referenced from:
@nonobjc __C.FlutterMethodChannel.__allocating_init(name: Swift.String, binaryMessenger: __C.FlutterBinaryMessenger) -> __C.FlutterMethodChannel in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
outlined destroy of Swift.String in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
outlined consume of Swift.String? in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
outlined destroy of [Swift.String : Swift.String] in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
__C.UIApplicationOpenExternalURLOptionsKey.init(rawValue: Swift.String) -> __C.UIApplicationOpenExternalURLOptionsKey in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"type metadata for Swift.String", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
lazy protocol witness table accessor for type Swift.String and conformance Swift.String : Swift.ObjectiveCBridgeable in Foundation in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"method descriptor for Swift.Hashable.hashValue.getter : Swift.Int", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"static Swift.String.+ infix(Swift.String, Swift.String) -> Swift.String", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol witness table for Swift.String : Swift.Hashable in Swift", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
protocol witness for Swift.Hashable.hashValue.getter : Swift.Int in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
protocol witness for Swift.Hashable.hash(into: inout Swift.Hasher) -> () in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
protocol witness for Swift.Hashable._rawHashValue(seed: Swift.Int) -> Swift.Int in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
protocol witness for Swift._HasCustomAnyHashableRepresentation._toCustomAnyHashable() -> Swift.AnyHashable? in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.HasCustomAnyHashableRepresentation in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.bridgeAnyObjectToAny(Swift.AnyObject?) -> Any", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"type metadata accessor for Foundation.URL", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
outlined destroy of Foundation.URL? in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"value witness table for Builtin.UnknownObject", referenced from:
full type metadata for __C.UIApplicationOpenExternalURLOptionsKey in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
full type metadata for flutter_app_upgrade.SwiftFlutterAppUpgradePlugin in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_unknownObjectRelease", referenced from:
static flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.register(with: __C.FlutterPluginRegistrar) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
@nonobjc __C.FlutterMethodChannel.__allocating_init(name: Swift.String, binaryMessenger: __C.FlutterBinaryMessenger) -> __C.FlutterMethodChannel in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
@objc static flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.register(with: __C.FlutterPluginRegistrar) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
reabstraction thunk helper from @escaping @callee_unowned @convention(block) (@unowned Swift.AnyObject?) -> () to @escaping @callee_guaranteed (@in_guaranteed Any?) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_release", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
reabstraction thunk helper from @escaping @callee_guaranteed (@unowned Swift.Bool) -> () to @escaping @callee_unowned @convention(block) (@unowned Swift.Bool) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
_block_destroy_helper in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
__swift_destroy_boxed_opaque_existential_0 in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
@objc flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.stdlib_isOSVersionAtLeast(Builtin.Word, Builtin.Word, Builtin.Word) -> Builtin.Int1", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_unknownObjectRetain", referenced from:
@objc static flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.register(with: __C.FlutterPluginRegistrar) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"associated type descriptor for Swift._ObjectiveCBridgeable._ObjectiveCType", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._ObjectiveCBridgeable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_getObjCClassMetadata", referenced from:
type metadata accessor for __C.FlutterMethodChannel in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
@objc static flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.register(with: __C.FlutterPluginRegistrar) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"protocol descriptor for Swift.Hashable", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"(extension in Foundation):Swift.String.bridgeToObjectiveC() -> __C.NSString", referenced from:
@nonobjc __C.FlutterMethodChannel.__allocating_init(name: Swift.String, binaryMessenger: __C.FlutterBinaryMessenger) -> __C.FlutterMethodChannel in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
__C.UIApplicationOpenExternalURLOptionsKey.init(rawValue: Swift.String) -> __C.UIApplicationOpenExternalURLOptionsKey in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"type metadata accessor for Swift.Optional", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"(extension in Swift):Swift.SwiftNewtypeWrapper< where A: Swift.Hashable, A.Swift.RawRepresentable.RawValue: Swift.Hashable>.hashValue.getter : Swift.Int", referenced from:
protocol witness for Swift.Hashable.hashValue.getter : Swift.Int in conformance __C.UIApplicationOpenExternalURLOptionsKey : Swift.Hashable in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.Dictionary.subscript.getter : (A) -> B?", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.Dictionary.init(dictionaryLiteral: (A, B)...) -> [A : B]", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"base conformance descriptor for Swift._SwiftNewtypeWrapper: Swift._HasCustomAnyHashableRepresentation", referenced from:
protocol conformance descriptor for __C.UIApplicationOpenExternalURLOptionsKey : Swift._SwiftNewtypeWrapper in __C_Synthesized in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"_swift_getObjectType", referenced from:
static flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.register(with: __C.FlutterPluginRegistrar) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"swift_getInitializedObjCClass", referenced from:
type metadata accessor for __C.FlutterMethodChannel in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
type metadata accessor for flutter_app_upgrade.SwiftFlutterAppUpgradePlugin in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.bridgeAnythingToObjectiveC(A) -> Swift.AnyObject", referenced from:
reabstraction thunk helper from @escaping @callee_unowned @convention(block) (@unowned Swift.AnyObject?) -> () to @escaping @callee_guaranteed (@in_guaranteed Any?) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"type metadata for Any", referenced from:
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
"Swift.String.init(builtinStringLiteral: Builtin.RawPointer, utf8CodeUnitCount: Builtin.Word, isASCII: Builtin.Int1) -> Swift.String", referenced from:
static flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.register(with: __C.FlutterPluginRegistrar) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
flutter_app_upgrade.SwiftFlutterAppUpgradePlugin.handle(: __C.FlutterMethodCall, result: (Any?) -> ()) -> () in libflutter_app_upgrade.a(SwiftFlutterAppUpgradePlugin.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Pods-Runner-eildaiovnuitqoaoprmuyblcyyyf
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
Could not build the application for the simulator.
Error launching application on iPhone 11 Pro Max.

设置项目支持swift


Fix Ultraleap Hand Tracking 404 link

Overview
Readme has a 404 link in Feature Area for the Ultraleap Hand Tracking. The main page on ms docs has similar content to the readme so I changed it to link to the same page as the working link there.

/azp run

/azp run

Thanks for the fix!


Camera3D gizmo does not reflect actual FOV

Godot version
v4.1.3.stable.official [f06b6836a]
System information
Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti (NVIDIA; <IP_ADDRESS>13) - AMD Ryzen 5 5600X 6-Core Processor (12 Threads)
Issue description
When the project settings viewport width is greater than the height on Keep Height or the height is greater than the width on Keep Width the camera gizmo shows the incorrect FOV. Keep Height uses the camera FOV as the horizontal FOV when it should be using it as vertical FOV and Keep Width uses it as the vertical FOV when it should be used as the horizontal FOV.
Steps to reproduce

Create a Camera3D node
Create a MeshInstance3D node with BoxMesh
Move MeshInstance3D to (-1, 0, 0) (Should be just outside of the camera gizmo)
Run scene (MeshInstance3D should be visible even though it is outside the gizmo)

Minimal reproduction project
FOV MRP.zip

I have another project that better illustrates the issue
understanding FOV.zip

If anyone wants to take a look into fixing this, Camera3D gizmo drawing code is here: https://github.com/godotengine/godot/blob/d443f127ef1db9fb2fe623ba1c17ded5402aff10/editor/plugins/gizmos/camera_3d_gizmo_plugin.cpp#L155-L268

Ran into this, I think it's because the gizmo doesn't account for the keep width/keep height setting? I think it assumes it's set to keep width, but keep height is the default, so by default the FOV angles are inverted. I could be wrong.


feat(oxlint): implement --print-config cli option

I've attempted to implement --print-config for oxlint. This implementation works but I'm almost certain there is a better way to do this and I'm open to feedback.
See discussion: #4279

This looks related to #4720. I'd like to reach consensus there before we merge this.

The cli can get merged first because it's a eslint command.
Behavior wise I think it should just print out whatever is read, it doesn't matter whether it's v8 or v9.

If ESLint supports it then we should too.

@nicksrandall it appears CI checks are not passing, let me know when you're ready for a review.

@DonIsaac I believe I'm ready for review. Thanks you!

I'm not sure why the tests are failing... there must be some issue when a struct implements "Serialize" and "JsonSchema" traits? Any idea on how I can fix ?

Tests are failing because there are schema snapshots that need updating. Have you run cargo test and committed the changes?

Hi! @nicksrandall Do you mind me taking this?

Please do!

Close in favor of #6579


chore(boxes): adding an init command for an empty project

Please read contributing guidelines and remove this line.

#7398  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @signorecello and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

proof_construction_time_poseidon_hash_100_ms (16): 880 (+29%)
proof_construction_time_poseidon_hash_30_ms (16): 283 (+39%)
proof_construction_time_poseidon_hash_30_ms (32): 264 (+19%)
app_circuit_proving_time_in_ms (AuthRegistry:set_authorized (avm)): 1,711 (+33%)
app_circuit_proving_time_in_ms (FPC:pay_refund (avm)): 18,411 (-23%)
protocol_circuit_proving_time_in_ms (base-rollup): 77,753 (-18%)
protocol_circuit_proving_time_in_ms (root-parity): 33,711 (-18%)
protocol_circuit_proving_time_in_ms (public-kernel-setup): 36,287 (-17%)
protocol_circuit_proving_time_in_ms (public-kernel-app-logic): 36,718 (-18%)
protocol_circuit_proving_time_in_ms (public-kernel-teardown): 36,755 (-16%)
protocol_circuit_proving_time_in_ms (public-kernel-tail): 155,157 (-16%)
protocol_circuit_proving_time_in_ms (root-rollup): 19,720 (-20%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,707 (-1%)
1,541 (-1%)
703 (-2%)
748 (-2%)
765 (-2%)

proof_construction_time_sha256_30_ms
11,716 (-1%)
3,143 (-2%)
1,407
1,422 (-2%)
1,467

proof_construction_time_sha256_100_ms
43,770 (-2%)
11,852 (-1%)
5,843 (+7%)
5,428
5,364

proof_construction_time_poseidon_hash_ms
78.0
34.0
44.0 (+29%)
65.0 (+10%)
90.0 (+2%)

proof_construction_time_poseidon_hash_30_ms
1,519 (-1%)
415 (-1%)
:warning: 283 (+39%)
:warning: 264 (+19%)
286 (+7%)

proof_construction_time_poseidon_hash_100_ms
5,615 (-1%)
1,517 (-1%)
:warning: 880 (+29%)
823 (+13%)
792 (+5%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
1,412
1,412
1,412

l1_rollup_calldata_gas
9,476
9,466
9,464

l1_rollup_execution_gas
613,504
613,645
613,794

l2_block_processing_time_in_ms
762 (+1%)
1,412
2,720 (+1%)

l2_block_building_time_in_ms
12,938
25,604
50,190

l2_block_rollup_simulation_time_in_ms
12,938
25,603
50,190

l2_block_public_tx_process_time_in_ms
10,904
23,374
47,948

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
6,990
9,817 (-1%)

node_database_size_in_bytes
12,472,400
16,248,912

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

GasToken:_increase_public_balance
81.9 (+3%)
13,790

GasToken:set_portal
12.5 (-27%)
3,339

Token:constructor
102 (-2%)
23,692

FPC:constructor
75.0 (+1%)
13,592

GasToken:mint_public
62.0 (-2%)
10,158

Token:mint_public
339 (-1%)
19,034

Token:assert_minter_and_mint
43.6 (+10%)
12,925

AuthRegistry:set_authorized
34.3 (+1%)
7,812

FPC:prepare_fee
105 (+5%)
15,062

Token:transfer_public
36.0 (-1%)
31,218

FPC:pay_refund
127 (-4%)
25,260

Benchmarking:increment_balance
1,321
15,267

Token:_increase_public_balance
63.7 (+1%)
15,006

FPC:pay_refund_with_shielded_rebate
113
26,347

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.148 (-5%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.4 (+1%)
16.9 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.603 (+1%)
0.519 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
48.6 (+1%)
75.5 (-1%)
131
244 (-2%)
471

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.497 (+1%)
0.465 (-1%)
0.451
0.442 (-2%)
0.440

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.0 (+1%)
111
182
352 (-1%)
694

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.507 (+1%)
0.499
0.483
0.477 (-1%)
0.476

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
72.9
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
133
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.519
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
74,082
667,868

Transaction size based on fee payment method
| Metric |  |
| - |  |

Docs Preview
Hey there! 👋 You can check your preview at https://668d44ec5b0a9f71d341705f--aztec-docs-dev.netlify.app


Traversal method

The ability to traverse the graph, executing an arbitrary function on each node that is provided with a traversal context.

This was added in commit 316e38b2fe5a23fea5ba375f5afc6eaeb8a714dd


Revert component-based scripts lookup

Is your feature request related to a problem? Please describe
In https://github.com/opensearch-project/opensearch-build/pull/2934 we have added a way to include component build scripts. There are several problems with that.

In https://github.com/opensearch-project/opensearch-build/issues/2188 we agreed to split monorepos. The maps monorepo came in as another new kind of monorepo that should not be supported.
There are no tests in the PR.
The new feature of path lookup is not documented in https://github.com/opensearch-project/opensearch-build/blob/cbe6841a3c459b65d5fb17b713994e5c01d7ee8e/src/paths/script_finder.py#L27

Describe the solution you'd like

Add tests and documentation on top of https://github.com/opensearch-project/opensearch-build/pull/2934.
Split the maps monorepo, https://github.com/opensearch-project/opensearch-build/issues/2188
Revert https://github.com/opensearch-project/opensearch-build/pull/2934

Describe alternatives you've considered
No response
Additional context
No response

[Triage] Hi @junqiu-lei Any plans on separating the repos?

Hi @gaiksaya , will take actions based on decision from https://github.com/opensearch-project/dashboards-maps/issues/95

@junqiu-lei @gaiksaya Can you provide an update on this issue?

I believe this PR took care of adding tests and documentation: https://github.com/opensearch-project/opensearch-build/pull/2952
These are the components in build repo that still have scripts here: https://github.com/opensearch-project/opensearch-build/tree/main/scripts/components

I'll raise a PR for the revert of https://github.com/opensearch-project/opensearch-build/pull/2952


Added the "Self-hosted" section on the README

Signed-off-by: Miquel Sabaté Solà<EMAIL_ADDRESS>

:clap: you can merge it


update rpc endpoint page

to include eth_callBundle and flashbots_getUserStats

Missing return data format for sendBundle and callBundle

Should merge this PR at the same time: https://github.com/flashbots/mev-relay-js/pull/62


Fix outdated eventOptions import

Noticed this while browsing the docs, it seems like this section was using an outdated import path
(new to lit, please let me know if the current is indeed correct)

@googlebot I signed it!


Scripts & Subcommands

Scripts and Sub-commands
I was speaking to someone and they brought up a good point. Why are utilities and scripts different? Why not just have scripts which can have optional sub-scripts (or subcommands) it would make the messaging of the ARC much more streamlined, while also simplifying some parts of the implementation.
Implementation might look something like this:
from arc import CLI
cli = CLI()

@cli.script()
def greet(name: str):
    print(f"Hi, {name}!")

@greet.subcommand() # decorator is attached to the greet object (either function or script)
def night(name: str):
    print(f"Goodnight, {name}")

@night.subcommand() # also allows for infinite script nesting
def late(name: str):
    print(f"You need to get out of here, {name}, it's 4 in the morning!")

cli()

What to think about:

What if someone wants subcommands but no script? Should that be facilitated?
When creating the script, we either return the script object with the available @script.subcommand decorator, or we bind subcommand to the function object. Probably the latter because:

Would allow for easier decorator chaining (I think)
Would allow for the function to be called outside of the context of the CLI (could be circumvented with call)

An interesting formatting option:
from arc import CLI
cli = CLI()

with cli.script() as script:
    @script()
    def greet(name: str):
        print(f"Hi, {name}!")

    with greet.subcomand() as subcommand:

        @subcommand()
        def night(name: str):
            print(f"Goodnight, {name}")

        @subcommand()
        def late(name: str):
            print(f"You need to get out of here, {name}, it's 4 in the morning!")

Essentially, the indentation of the code would match the nesting of CLI. I don't think I would want this to be the default, but maybe an option?

An interesting formatting option:
from arc import CLI
cli = CLI()

with cli.script() as script:
    @script()
    def greet(name: str):
        print(f"Hi, {name}!")

    with greet.subcomand() as subcommand:

        @subcommand()
        def night(name: str):
            print(f"Goodnight, {name}")

        @subcommand()
        def late(name: str):
            print(f"You need to get out of here, {name}, it's 4 in the morning!")

Essentially, the indentation of the code would match the nesting of CLI. I don't think I would want this to be the default, but maybe an option?


Bump edpm crc ram to 24000

Currently EDPM and Baremetal jobs are failing with
error: You must be logged in to the server (Unauthorized)

Bumping ram might give some space to make the job green.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

/approve
/lgtm

recheck

recheck

recheck

recheck

Bumping crc to more ram is not working, hence closing it.


Enable pylint's dangerous-default-value check

When I ran pylint in its default configuration, I noticed a few dangerous-default-value warnings in the new cut finder.  I think it's worth adding this to our pylint configuration and fixing the existing issues in the code base.  (Even though users aren't supposed to directly call this code, adding this to our config allows us to prevent similar dangerous defaults in places we do care about.)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 5 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 95.438%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
3452

Relevant Lines:
3617

💛  - Coveralls


Added unique id to all Wink devices.

Description:
Not sure why I didn't add this a while back.
Checklist:

[X] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

Please open an issue if you suspect a bug. If you need help please use our help channels:
https://home-assistant.io/help/#communication-channels
Merged PRs should not be used for support or bug reports. Thanks!

@junior466 yes it's a fix for all sensors/binary sensors that are auto generated from devices. So in your case I guess it's a camera that has multiple sensors? Wink's API see it as one device with one ID but on HA it gets broken out and then you end up with two sensors and HA is trying to assign the same ID to them both. This fix adds the capability to the end of the unique name which should fix it for all sensors.


[Design] - HR: Homepage

Status

[x] Being Researched
[ ] Prototyping and Testing
[ ] Data Story
[ ] Ready For Dev

Design Goal
Please explain the primary goals of this design work.
The HR portal will need its own unique homepage with content dedicated to their specific user group.
Research
Please list/link to all research performed for or referenced in this design work. This can include research you've done in the past. Include research relevant to insights from team members as well. Don't be afraid to ask for references or documents! This section should also incorporate data collected from user testing.

Research Link 01
etc.

Assumptions
Please list all assumptions made during your design work. This should include behavioural assumptions made by the team that have no direct research references.

HR Managers can act as advocates for Talent Cloud.
HR Managers want resources they can share with other employees.

Important Notes / Copy
This is a space to include important notes for other team members, including things like key copy, questions that need to be asked at a later date, etc.
Wireframes / Images
Prototype Link: https://joshbeveridge.ca/tc-hr-home/
Version 01 (Funnel Proposal)

What is Talent Cloud (to an HR Manager)?

research based / user centred
policy compliant
distinction between partners and non partners

Why does Talent Cloud benefit the HR process?

Testimonials?
skill taxonomies/database?
assessment tools highlight

Request Events

Manager Engagement
HR How-to

Resources

How to engage managers.
How to troubleshoot with managers.
Assessment Tools package?
Hiring 101 package?

who does what (matt's flow chart, simplified)

Wireframe

Version 02

Adds some clarity to how information will be laid out
Adds basic colour suggestions
Discussed with @rositak and Matt regarding content proposals for version 3
Added the basic proposal for the UX CTA (see issue #1675 )

Final Data Story
Use this section to summarize where we started, and how and why we got to the approved design. This section must be complete before the issue can be handed off to development.

That unicorn wearing a tie... is brilliant.

from Matt, from Lindsay:
Because we tend to get more pushback from HR than managers, I think it would be great to proactively put info up that will address their concerns before they even air them. So, a few things we may want to either write about or link to on the HR portal's homepage are:
What is TC doing that's different from how government has traditionally worked?
Any information we can provide about how we're compliant with everything we should be compliant with
Where are we going with TC - are there any features that will be added in the future that aren't yet, and what are they?

 if we're already planning on it

This is our current text for "compliance". It would make me so happy if it came under a heading that said "Talent Cloud is very compliant!" but I would understand if we decide to stick with the one given:
Tailored for GC Policy Requirements

All content bilingual and accessible
All jobs classified by HR advisors
All jobs also posted to GCjobs
Integrated priority screening
Privacy Impact Assessment in place
IT Security protocols in place
Authority to Operate
TBS-approved online content
PCO-approved social media

Closing this as it has been moved to Trello for design purposes.


Chao: Create Mock Structure

@winlinworks here is what I did. We can add on property rating and review numbers later. They are managed separately in my current code.

const MockProperty = [
  {
    id: 1,
    name: "property-1",
    tagline: "this is property 1",
    location: "Houston, TX",
    image:
      "https://a0.muscache.com/im/pictures/2adf6ef9-e131-431b-a34e-9566e768f509.jpg?im_w=1200",
    price: 314,
  },
  {
    id: 2,
    name: "property-2",
    tagline: "this is property 2",
    location: "Houston, TX",
    image:
      "https://a0.muscache.com/im/pictures/2f53e928-a91e-464c-b69f-14eff28a3b85.jpg?im_w=960",
    price: 263,
  },
  {
    id: 3,
    name: "property-3",
    tagline: "this is property 3",
    location: "Houston, TX",
    image:
      "https://a0.muscache.com/im/pictures/d1db0b4a-9830-42e2-875d-0d41820ca4e3.jpg?im_w=960",
    price: 180,
  },
];


Easily check if response object is empty?

I'm working on a plugin, and if the search doesn't return any results I wanted to add a search result that indicates that and tells them to search again, instead of not providing any feedback.
I feel like should be easy to check if there aren't currently any results, and then create this one, but not sure how to do it. Thanks for any help!

Maybe something like this?
  function search(query, res) {
    if (...) {
      res.add({
        id: 0,
        title: 'Please, search again',
        desc: '...'
      });
      return;
    }

    res.add({
      id: 42,
      title: '...',
      desc: '...',
      payload: '...'
    });
  }

  function execute(id, payload) {
    if (!payload) {
      return;
    }

    ...
  }

Thanks for the suggestion, I will give this a try!

Fixed at 39f606009577536c410c0aa0ca31a2f2bd6c9030


A typo issue in section 8

https://codelabs.developers.google.com/codelabs/flutter#7
The property name 'Duration' should be 'duration'.

Hi @damybe
I see there's an open issue (https://github.com/flutter/flutter/issues/64104) addressing the case you described.
Please follow up on that issue, I'm closing the current one as a duplicate.
If you disagree, please write in the comments and I will reopen it.
Thank you


Fix stacking together different series types (#1037)

Fix stacking together of different Series types.
for example, using this graph from showcase:
https://github.com/uber/react-vis/blob/master/showcase/plot/stacked-vertical-bar-chart.js
Added the last two lines to the showcase example:
        <XYPlot width={300} height={300} stackBy="y">
          <VerticalGridLines />
          <HorizontalGridLines />
          <XAxis />
          <YAxis />
          <BarSeries data={[{x: 2, y: 10}, {x: 4, y: 5}, {x: 5, y: 15}]} />
          <BarSeries data={[{x: 2, y: 12}, {x: 4, y: 2}, {x: 5, y: 11}]} />
          <LabelSeries data={[{x: 2, y: 10, label:"10"}, {x: 4, y: 5, label:"5"}, {x: 5, y: 15, label:"15"}]} />
          <LabelSeries data={[{x: 2, y: 12, label:"12"}, {x: 4, y: 2, label:"2"}, {x: 5, y: 11, label:"11"}]} />

Previously:

After fixing:

Running the tests on windows fail, what is the recommended setup for development?

Sure, I'll add more tests.
Please notice that if you're using a clustered stack bars graph, you can't simply add LabelSeries to the graph since it doesn't have the 'cluster' attribute. Adding LabelSeries to such a graph will result the labels to stack over with no distinction of clustering. see this comment on the original issue - https://github.com/uber/react-vis/issues/1037#issuecomment-477465173

Hi @mcnuttandrew,
Added the showcase example and a test.
Please review.

couple of code quality nits, but generally I approve. thanks for adding tests, code quality is important!

Thanks for doing this!


Can I use a local file as a single time WMS service in mapView?

Hyya,
I would like to use a silngle tile located in filesystem for use in mapjfx (for example like so : http://www.gisagmaps.com/storage/S2_download_extent.jpg?__SQUARESPACE_CACHEVERSION=1486582125381) . Is there a way to do so with current implementation of MapType.OSM ?
Thanks :)

Hi,
I am on vacations, can look into this at the 21. August earliest.
Greetings
Peter

Am 10.08.2017 um 11:26 schrieb Hanokh Aloni<EMAIL_ADDRESS>Hyya,
I would like to use a silngle tile located in filesystem for use in mapjfx (for example like so : http://www.gisagmaps.com/storage/S2_download_extent.jpg?__SQUARESPACE_CACHEVERSION=1486582125381) . Is there a way to do so with current implementation of MapType.OSM ?
Thanks :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

sorry, this is not possible.


Add token type to get app response

Purpose
Fixing : https://github.com/wso2/api-manager/issues/2970

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


x/build: add a new race builder for linux/s390x

Linux/s390x support race detector feature, Add new race builder for linux/s390x port on the host: "host-linux-s390x",

https://go-review.googlesource.com/c/build/+/492577


Chore enable fallthrough check annd fix some fallthrough bug

Proposed changes

enable fallthrough check
fix some fallthrough bug
remove or modify some unused code

Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

LGTM


Issue with ligatures

Not all products use the triple ligatures ffi and ffl. Google products, for instance, use fi and fl, but not ffi and ffl.
In some sizes, particularly in 12pt, that means that in words like efficient and affluent, the bars of the two f's are not aligned. Which is not pretty.

The cause of this can be seen in the dlig and liga feature source (which has never changed in v2).
In liga, one can only get ffi through f_f + i, but can only get f_f through the dlig feature which by my understanding is not active by default. @roozbehp, can you advise? My thinking is we want to simply change the ffi substitution to f + f + i (and similarly for ffl).

I think the current feature code somehow assumes that dlig will be on all the time, which is wrong.


markdown-link-check produces wrong results and exit status

Description
Apart from broken links reported in issue https://github.com/cypress-io/github-action/issues/663, there are two other issues concerning link check errors.

Running npm run check:markdown shows 403 link errors for links to the github.com domain although when the links are used manually they work, for example https://help.github.com/en/actions which opens https://docs.github.com/en/actions.
Although the markdown check reports link errors, the ci action main.yml shows success.

These two issues are described here together because the solution for both is interelated.
Steps to reproduce the issue

Execute npm run check:markdown and note "https://help.github.com/en/actions → Status: 403" which represents Forbidden

View for instance job<PHONE_NUMBER>  and expand "Run npm run check:markdown".

Expected behavior

Running markdown-link-check should show no failures for links which work when manually used.

If there are failures from markdown-link-check then the action main.yml should show failure status.

Suggested fix

See https://github.com/gaurav-nelson/github-action-markdown-link-check#github-links-failure-fix for a suggested configuration file which mitigates the 403 forbidden errors when checking github.com domain links. Create a markdown-link-check configuration file and implement the configuration for GitHub.

Convert the script definition in https://github.com/cypress-io/github-action/blob/ced9ddd425e267fa6b5448c7860e22e03ae9bed4/package.json#L16 to use xargs instead of exec as suggested in https://github.com/tcort/markdown-link-check#check-links-from-a-local-markdown-folder-recursive

I will prepare a PR to resolve this issue and I will wait until issue https://github.com/cypress-io/github-action/issues/663 is resolved to avoid causing a workflow failure if main.yml is changed to fail in the case of a failed markdown link check.

PR https://github.com/cypress-io/github-action/pull/667 resolves this issue

PR #667 was successful. See successful run<PHONE_NUMBER> with 134 links checked. and no link errors.


Bottom row of calendar is cut off

Hi,
I am having a problem where the bottom row of the calendar is cut off as shown here.

I am using Interface Builder to setup the calendar view, and most of the attributes are default, except Adjust Font Size To Fit Content Size which I set to true.
There is no height constraint placed on the calendarView in Storyboard (I gave it a placeholder height).
In viewDidLoad(), I set the height constraint of the calendar view using the code snippet below.
self.calendarView.snp.makeConstraints { (make) in         make.height.equalTo(self.view).multipliedBy(0.5) }
If I am not wrong, the row heights are calculated and distributed evenly based on the height of the calendar.
Where should I look at to fix this problem? 謝謝🙏
Other details:
I am using Cocoapods, using FSCalendar 2.7.4.

Ah I managed to solve it by setting the height constraint to take reference with UIScreen.main.bounds.height rather than self.view.
This view is a container view, so its height is different from the screen full height. I am guessing this has something to do with using FSCalendar in container views


fixremove rf-prune case

Proposed changes
this case depends on other pr in master (print rf in explain shape), it should not be picked to branch-2.0
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Defining a field named 'deleted?' is not allowed

Would it be possible to backport the removal of deleted from version 5 to version 4?
It's currently impossible to upgrade, since that would require a major refactor of our codebase.
Any workarounds are welcome!

Since it is an API change no we cannot backport it - this is unfortunately a violation of semver.


invalid byte sequence in UTF-8 error while linting regexp with Lint/MixedCaseRange cop

Running linting with the Lint/MixedCaseRange cop enabled leads to an error when linting the following regular expression line. Surely a complex line but not a range in the first place but rather a regular expression. Plus, the line has been working fine in production for months so while I'm not 100% sure it's a RuboCop issue, I'm tempted to say it is.
term.gsub(%r{[\s\.\-\–\&\,\:\;\!\?/\'\"\`\%\+\(\)\[\]]}, "").downcase

Expected behavior
No error nor linting issue is reported when running over the above line with the aforementioned cop.
Actual behavior
Inspecting 1 file
An error occurred while Lint/MixedCaseRange cop was inspecting some_file.rb:104:16.
To see the complete backtrace run rubocop -d.
.

1 file inspected, no offenses detected

1 error occurred:
An error occurred while Lint/MixedCaseRange cop was inspecting some_file.rb:104:16.
Errors are usually caused by RuboCop bugs.

Running with --debug flag, it appears the error is an invalid byte sequence. 🤔
An error occurred while Lint/MixedCaseRange cop was inspecting some_file.rb:104:16.
invalid byte sequence in UTF-8

Steps to reproduce the problem

Add the gsub line above to a Ruby file.
Run bundle exec rubocop --only Lint/MixedCaseRange --debug the_file.rb.

RuboCop version
❯ rubocop -V
1.60.2 (using Parser <IP_ADDRESS>, rubocop-ast 1.30.0, running on ruby 3.3.0) [x86_64-linux]
  - rubocop-factory_bot 2.25.1
  - rubocop-minitest 0.34.5
  - rubocop-performance 1.20.2
  - rubocop-rails 2.23.1
  - rubocop-sorbet 0.7.7

Thanks a bunch for the fix! I can confirm that regex line lints fine now. 😌
Inspecting 1 file
.

1 file inspected, no offenses detected


Fix bug where app cannot close if summarise command is not executed.

This PR is a bug fix to PR #232. Previously, if the summarise command was not executed and the user attempts to exit the application, a null pointer exception will be thrown as the PieChartWindow has not been instantiated.
Therefore, this PR fixes this by instantiating an PieChartWindow when the initial constructor for the mainWindow is in-vocated. Subsequent opening and closing will instantiate a new PieChartWindow to retrieve an updated list.
There are no PRs dependent on this.

Codecov Report

Merging #234 (b818f18) into master (5b0c49b) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #234      +/-   ##
============================================
- Coverage     65.28%   65.25%   -0.04%
  Complexity      564      564
============================================
  Files            92       92
  Lines          2028     2029       +1
  Branches        223      223
============================================
  Hits           1324     1324
- Misses          649      650       +1
  Partials         55       55

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/PieChartWindow.java
0.00% <ø> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Validating Build SBOM in SPDX Format

I worked on https://github.com/wmichalska/CreditManager repository to validate the build SBOM and below are my findings.

There are in total 119 dependencies obtained from the Maven Dependency List/Tree on running the mvn dependency:list command.
The SBOM file that was generated using the command mvn spdx:createSPDX resulted in total 117 dependencies. Out of these four dependencies couldn’t be obtained directly from either the Maven central repository or the dependency list.
Also, two dependencies from the dependency list do not match with the SBOM file – spring-jcl, spring-test.
The dependencies- “JSON Small and Fast Parser”, “AssertJ fluent assertion”, “Spring Data Core”, “Java Annotation Indexer” were present in SBOM but not directly present in the dependency list or Maven central Repo.
There are some other dependencies that are common in both Dependency List and SBOM but the direct link to those dependencies from the POM dependencies are not present. Below is the list of those dependencies-
byte-buddy-agent, objenesis, android-json, spring-jdbc, javassist, dom4j, txw2, istack-commons-runtime, spring-data-commons, spring-orm, spring-tx, attoparser, thymeleaf-extras-java8time, jakarta.el

If you have any inputs to explain the differences, please do advise. Thanks in advance.

I cloned the above mentioned repo and ran mvn dependency:tree and mvn spdx:createSPDX and ended up with the same results.  Both produced 119 dependencies.
Attached are 3 files - the output of each tool + a CSV with sorted comparisons of the package level information.
[DepCompare.csv]
deptree.txt
spdx-deps.txt
(https://github.com/user-attachments/files/16719702/DepCompare.csv)

I worked on https://github.com/wmichalska/CreditManager repository to validate the build SBOM and below are my findings.

There are in total 119 dependencies obtained from the Maven Dependency List/Tree on running the mvn dependency:list command.
The SBOM file that was generated using the command mvn spdx:createSPDX resulted in total 117 dependencies. Out of these four dependencies couldn’t be obtained directly from either the Maven central repository or the dependency list.
On my local machine, I was able to get all 119 in the SPDX run
Also, two dependencies from the dependency list do not match with the SBOM file – spring-jcl, spring-test.
These matched on my run
The dependencies- “JSON Small and Fast Parser”, “AssertJ fluent assertion”, “Spring Data Core”, “Java Annotation Indexer” were present in SBOM but not directly present in the dependency list or Maven central Repo.
I didn't verify this - but it looks like the same results from the mvn:tree command and the SPDX command
There are some other dependencies that are common in both Dependency List and SBOM but the direct link to those dependencies from the POM dependencies are not present. Below is the list of those dependencies-
byte-buddy-agent, objenesis, android-json, spring-jdbc, javassist, dom4j, txw2, istack-commons-runtime, spring-data-commons, spring-orm, spring-tx, attoparser, thymeleaf-extras-java8time, jakarta.el
Both tools will generate indirect dependencies

If you have any inputs to explain the differences, please do advise. Thanks in advance.

Note that PR #152  changes the implementation of the dependency discovery to use the same mechansim as mvn:dependency:tree so the results should be the same.

Hi @goneall, this is satisfactory. But I still have an unanswered question. The below listed dependencies do not have any direct link from the dependencies present in the POM file. So, my question is, what reference are these dependencies using to show up in the SBOM file as the POM doesn't include the artifact IDs for all of these.

. There are some other dependencies that are common in both Dependency List and SBOM but the direct link to those dependencies from the POM dependencies are not present. Below is the list of those dependencies-
byte-buddy-agent, objenesis, android-json, spring-jdbc, javassist, dom4j, txw2, istack-commons-runtime, spring-data-commons, spring-orm, spring-tx, attoparser, thymeleaf-extras-java8time, jakarta.el

Both tools will generate indirect dependencies

Hi @goneall, this is satisfactory. But I still have an unanswered question. The below listed dependencies do not have any direct link from the dependencies present in the POM file. So, my question is, what reference are these dependencies using to show up in the SBOM file as the POM doesn't include the artifact IDs for all of these.

I didn't look at all of these, but for the first few, they all appear to be indirect dependencies of dependencies declared in the POM file.
For example - byte-buddy-agent is an indirect dependency if the following declared dependency:
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

The full dependency graph for this can be found in both the SBOM by tracing back the dependency information, or (more easily) from the dependency tree output.  The dependency tree output related to byte-buddy-agent is:
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.4.5:test
[INFO] |  +- org.springframework.boot:spring-boot-test:jar:2.4.5:test
[INFO] |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.4.5:test
[INFO] |  +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] |  |  \- net.minidev:json-smart:jar:2.3:test
[INFO] |  |     \- net.minidev:accessors-smart:jar:1.2:test
[INFO] |  |        \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile
[INFO] |  |  \- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile
[INFO] |  +- org.assertj:assertj-core:jar:3.18.1:test
[INFO] |  +- org.hamcrest:hamcrest:jar:2.2:test
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.7.1:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.7.1:test
[INFO] |  |  |  +- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] |  |  |  +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] |  |  |  \- org.junit.platform:junit-platform-commons:jar:1.7.1:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.7.1:test
[INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.7.1:test
[INFO] |  |     \- org.junit.platform:junit-platform-engine:jar:1.7.1:test
[INFO] |  +- org.mockito:mockito-core:jar:3.6.28:test
[INFO] |  |  +- net.bytebuddy:byte-buddy:jar:1.10.22:compile
[INFO] |  |  +- net.bytebuddy:byte-buddy-agent:jar:1.10.22:test

Okay, actually I checked for "attoparser" on the maven central repo and found that this particular one comes from a different org, org.attoparser. But I couldn't find the indirect link in the artifact IDs present in POM.

@PrachiP29 - Does running mvn dependency:tree on your project yield the same results as the SPDX Maven plugin?
If so, I suggest posting your question to the  Maven Dependency Tree plugin community.  This library make use of the same code.
If you're seeing results which are different, then I can look into the SPDX Maven plugin implementation.


SD1.5.1 After choosing the dark theme, the interface of this plug-in is black and the UI and operation interface cannot be seen clearly.

Describe the bug
SD1.5.1 After choosing the dark theme, the interface of this plug-in is black and the UI and operation interface cannot be seen clearly.
Reproduction
SD1.5.1 After choosing the dark theme, the interface of this plug-in is black and the UI and operation interface cannot be seen clearly.
System Info
SD1.5.1 After choosing the dark theme, the interface of this plug-in is black and the UI and operation interface cannot be seen clearly.

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

SD1.5.1 After choosing the dark theme, the interface of this plug-in is black and the UI and operation interface cannot be seen clearly.

1、S D 1.5.1 is update latest version。
2、SD/ webui-user.bat
open edit
set COMMANDLINE_ARGS=--theme dark
3、SD1.5.1 After choosing the dark theme, the interface of this plug-in is black and the UI and operation interface cannot be seen clearly.


XTB 6.4.1 -> 6.5.1

Update to the most recent XTB version with many new features and bugfixes. XTB now requires 2 new dependencies:

mctc-lib to unify input file parsing between different Grimme group programs. mctc-lib requires

json-fortran to parse QCSchema input files

test-drive to automate fortran tests in XTB

This seems to break pysisyphus:
FAILED tests/test_afir/test_afir.py::test_three_frag_afir - assert 2.62350526...
FAILED tests/test_modekill/test_modekill.py::test_modekill_xtb - AssertionErr...
FAILED tests/test_xtb/test_xtb.py::test_xtb_forces - assert 9.236406978009484...
= 3 failed, 678 passed, 190 skipped, 325 deselected, 10 xfailed, 62 warnings in 2622.60s (0:43:42) =

          ==================== Thresholds ====================
          CN  :   150.00000
          rep :   500.00000
          disp:  2500.00000
          HB1 :   250.00000
          HB2 :   450.00000

          Pauling EN used:
          Z : 1  EN :  2.20
          Z : 8  EN :  3.44
          electric field strengths (au): 0.000

           -------------------------------------------------
          |           Force Field Initialization            |
           -------------------------------------------------

          distances ...
          ----------------------------------------
          generating topology and atomic info file ...
          pair mat ...
          computing topology distances matrix with Floyd-Warshall algo ...
          making topology EEQ charges ...
          #fragments for EEQ constrain: 1
          ----------------------------------------
          generating topology and atomic info file ...
          pair mat ...
          computing topology distances matrix with Floyd-Warshall algo ...
          making topology EEQ charges ...
          #fragments for EEQ constrain: 1
          rings ...
          # BATM   0
          # H in HB   2

  atom   neighbors  erfCN metchar sp-hybrid imet pi  qest     coordinates
    1  O       2    1.92   0.00         3    0    0  -0.571   -0.000000   -0.209404    0.000000
    2  H       1    0.97   0.00         0    0    0   0.285    1.481500    0.837616    0.000000
    3  H       1    0.97   0.00         0    0    0   0.285   -1.481500    0.837616    0.000000

          #atoms :   3
          #bonds :   2
          #angl  :   1
          #tors  :   0
          #nmol  :   1
          #optfrag :   1

          ==================== Thresholds ====================
          CN  :   150.00000
          rep :   500.00000
          disp:  2500.00000
          HB1 :   250.00000
          HB2 :   450.00000

          Pauling EN used:
          Z : 1  EN :  2.20
          Z : 8  EN :  3.44
          electric field strengths (au): 0.000

           -------------------------------------------------
          |           Force Field Initialization            |
           -------------------------------------------------

          distances ...
          ----------------------------------------
          generating topology and atomic info file ...
          pair mat ...
          computing topology distances matrix with Floyd-Warshall algo ...
          making topology EEQ charges ...
          #fragments for EEQ constrain: 1
          ----------------------------------------
          generating topology and atomic info file ...
          pair mat ...
          computing topology distances matrix with Floyd-Warshall algo ...
          making topology EEQ charges ...
          #fragments for EEQ constrain: 1
          rings ...
          # BATM   0
          # H in HB   2

  atom   neighbors  erfCN metchar sp-hybrid imet pi  qest     coordinates
    1  O       2    1.92   0.00         3    0    0  -0.571   -0.000000   -0.209404    0.000000
    2  H       1    0.97   0.00         0    0    0   0.285    1.481500    0.837616    0.000000
    3  H       1    0.97   0.00         0    0    0   0.285   -1.481500    0.837616    0.000000

          #atoms :   3
          #bonds :   2
          #angl  :   1
          #tors  :   0
          #nmol  :   1
          #optfrag :   1

@eljost this is most likely also a problem for upstream pysisyphus. Could you check if pysis needs to be tweaked for XTB 6.5. They've changed topology handling in GFN-FF.

This commit https://github.com/eljost/pysisyphus/commit/e382c9dec9cc5bf4755414ea647a649322168bdb fixes pysisyphus it. I will include it as soon as it reaches master.

Is this fixed now in pysisyphus?

Yes, as part of this large merge commit to master: https://github.com/eljost/pysisyphus/commit/1b73e5dd167ce63a6ea9337544b73ad753467558
May be better to use a pin of master there for the moment than to build Frankenstein's patch.

pysisyphus still fails with the same error.

I still see the same error.

Yes, yes. But now the upstream CMake update also broke mctc-lib and test-drive. I have first fixed those. I am currently sitting down with @eljost and we are working through the failing tests. They are mostly numerical noise. I will ping you when done.


Fix date handling

This step in your docs ta.utils.dropna gives errors on my date column like:
TypeError: Invalid comparison between dtype=datetime64[ns] and float if it's a datetime or
string and float if it's a string represenation of a timestamp.
because these lines expect everything to be a number:
df = df[df < math.exp(709)]  # big number
df = df[df != 0.0]

They need to handle different datatypes correctly without crashing the app

Hi @RichardJECooke  ,
I have worked in a solution dropping values only in numeric columns.
Please, take a look to the updated code, and let me know if you have any additional problems: https://github.com/bukosabino/ta/blob/develop/ta/utils.py
Thank you for the advice!
Best,
Dario

Hi @RichardJECooke ,
This feature has been included in the last version of the library (v0.5.11).
To install the last ta version you can do:
pip install -U ta


Editor won't start on read-only filesystem

Current Behavior
If the filesystem / is mounted read-only, opening http://node-red-host:1880/admin causes a blank page. No login screen is shown.
readOnly - Option in settings.js is set to true.
As soon as / is remounted read-write, everything is working as expected.
I want to have / mounted read only because it is installed on a Raspberry SD-Card. Same setup works on another RPI with "slightly" outdated Node-Red 1.3.5.
Here you can find an strace if I try to open the editor. the 2 lines with ECONNRESET are not occuring if the file system is mounted read-write:
read(21, "GET /admin/vendor/jquery/css/bas"..., 65536) = 644
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
read(22, "GET /admin/vendor/font-awesome/c"..., 65536) = 648
read(23, "GET /admin/red/style.min.css?v=2"..., 65536) = 621
read(24, "GET /admin/vendor/vendor.js?v=2."..., 65536) = 606
read(25, "GET /admin/red/red.min.js?v=2.1."..., 65536) = 604
read(26, "GET /admin/red/main.min.js?v=2.1"..., 65536) = 605
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(21, "", 0)                        = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
read(21, "", 65536)                     = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(22, "", 0)                        = 0
write(26, "", 0)                        = 0
close(21)                               = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, ";position:relative;background-co"..., 65536) = 65536
write(24, "nd({attr:function(e,t,n){var r,i"..., 65536) = 65536
write(25, "==r&&(s.push(e),i[e.id]=!0)}),n="..., 65536) = 65536
read(22, "", 65536)                     = 0
read(26, "", 65536)                     = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, "r:#6e0a1e;background:#6e0a1e;col"..., 65536) = 65536
write(24, ",0].concat(s.splice(e,i))),t.deq"..., 65536) = 65536
write(25, "ar j=Math.min(C.length,5);for(T="..., 65536) = 65536
close(22)                               = 0
close(26)                               = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, ":transparent;border-top-color:va"..., 65536) = 65536
write(24, ",s.input?s.input.val():null,t.da"..., 65536) = 65536
write(25, "parse(e))}catch(e){}o.value(t)}}"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, "d-ui-debug-msg-type-number{color"..., 3278) = 3278
write(23, "", 0)                        = 0
write(24, "ialog.remove(),this.originalTitl"..., 65536) = 65536
write(25, "inalFlow();for(s in e.remoteDiff"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, ".fromOutside))}),!this.fromOutsi"..., 65536) = 65536
write(25, "low-port",ge):(e=".red-ui-flow-p"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "e=function(e,t,u){if(null===(e=G"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(25, "-stack").css("right",8),$("#red-"..., 65536) = 65536
write(24, "n(){o.lineEnd=u},polygonEnd:func"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(25, "itor.enable"))),c.setRow.toggleC"..., 65536) = -1 ECONNRESET (Connection reset by peer)
close(25)                               = 0
write(24, "=lr;return t.value=function(n){r"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "ength>0&&void 0!==arguments[0]?a"..., 65536) = 65536
read(23, "", 65536)                     = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "istinct:function(e){if(void 0!=="..., 65536) = 65536
close(23)                               = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, ".pos+1);\n                    pos"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "sion,s=i.getFoldAt(n.row,n.colum"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "ength)},this.attach=function(e){"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "tion:"Move lines up",bindKey:o(""..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "t.createElement("div"),this.elem"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, ""},this.addToken=function(e,t,n,"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(24, "ction(e,t){e.row==0&&(e.column+="..., 21680) = 21680
write(24, "", 0)                        = 0
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
read(24, 0x535b038, 65536)              = -1 ECONNRESET (Connection reset by peer)
close(24)                               = 0
Here you can see the strace on rw filesystem during the first ECONNRESET:
write(23, "e=function(e,t,u){if(null===(e=G"..., 65536) = 65536
write(25, "-stack").css("right",8),$("#red-"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, "n(){o.lineEnd=u},polygonEnd:func"..., 65536) = 65536
write(25, "itor.enable"))),c.setRow.toggleC"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, "=lr;return t.value=function(n){r"..., 65536) = 65536
write(25, "{i=i||setTimeout(function(){var "..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, "ength>0&&void 0!==arguments[0]?a"..., 65536) = 65536
write(25, "issing` \342\200\224 whether to create mi"..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, "istinct:function(e){if(void 0!=="..., 65536) = 65536
write(25, "e3),t.buttons&&(i=$('<div style="..., 65536) = 65536
read(16, "\1\0\0\0\0\0\0\0", 1024)      = 8
write(23, ".pos+1);\n                    pos"..., 65536) = 65536
The created dashboard are working fine. If I start the editor in RW I can put the filesystem in RO afterwards and it is working fine .. it is only the startup.
Expected Behavior
Editor should start in RO mode.
Steps To Reproduce
Mount / in read only
Example flow
No flow needed, happens even directly after installation without any flow.
Environment

Node-RED version: 2.1.4
Node.js version: 14.18.2
npm version: 6.14.15
Platform/OS: Raspberry
Browser: Chrome / Firefox / IE

Node-RED needs to write some state to storeage under a few circumstances.
You appear to have made changes to the settings.jsfile to move the editor interface, if you have enabled adminAuth then user sessions data is one of the things that will be written to disc and updated every time the user logs in. But with a RO filesystem even having the editor enabled doesn't make sense because you would then not be able to change the flow.
As it currently stands Node-RED expect to be able to write to the userDir. So this sounds like a feature request for read only support. We will need more information about your use case to see if it is something we can consider.
It might be possible to use a custom storage module to achieve your goal, but as I said we need to know more.

We do have support for readOnly mode - but you have to tell Node-RED that's what you want.
Set readOnly: true in your settings file.

Sorry - I see you have got that set. Okay, we need to figure out what is ignoring that option.
A strace of the browser isn't all that useful. Have you checked the Node-RED logs for any errors?

@knolleary:
As I wrote above, I have set the readOnly option.
Nothing in the logs, only the strace shows the ERR
The strace was done on the RPI on the node-red process.
@hardillb:
I have enabled Admin Auth but even when disabling it, the same blank page happens.
I have enabled adminroot to /admin.
I have enabled the ReadOnly mode in settings.js and context storage to memory.
I also assume this is some kind of session information or similar that is wanted to store on filesystem.
This is what Chrome shows if the blank page occurs:

This is the output after a reboot:
Feb 14 11:12:02 XXXXXX systemd[1]: Started Node-RED graphical event wiring tool.
Feb 14 11:12:09 XXXXXX Node-RED[332]: 14 Feb 11:12:09 - [info]
Feb 14 11:12:09 XXXXXX Node-RED[332]: Welcome to Node-RED
Feb 14 11:12:09 XXXXXX Node-RED[332]: ===================
Feb 14 11:12:09 XXXXXX Node-RED[332]: 14 Feb 11:12:09 - [info] Node-RED version: v2.1.4
Feb 14 11:12:09 XXXXXX Node-RED[332]: 14 Feb 11:12:09 - [info] Node.js  version: v14.18.2
Feb 14 11:12:09 XXXXXX Node-RED[332]: 14 Feb 11:12:09 - [info] Linux 5.10.63-v7+ arm LE
Feb 14 11:12:10 XXXXXX Node-RED[332]: 14 Feb 11:12:10 - [info] Loading palette nodes
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] Dashboard version 3.1.2 started at /ui
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] Settings file  : /home/pi/.node-red/settings.js
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] Runtime in read-only mode. Changes will not be saved.
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] HTTP Static    : /home/pi/.node-red-static
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] Context store  : 'default' [module=memory]
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] User directory : /home/pi/.node-red
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [warn] Projects disabled : editorTheme.projects.enabled=false
Feb 14 11:12:15 XXXXXX Node-RED[332]: 14 Feb 11:12:15 - [info] Flows file     : /home/pi/.node-red/flows.json
Feb 14 11:12:16 XXXXXX Node-RED[332]: 14 Feb 11:12:16 - [warn]
Feb 14 11:12:16 XXXXXX Node-RED[332]: ---------------------------------------------------------------------
Feb 14 11:12:16 XXXXXX Node-RED[332]: Your flow credentials file is encrypted using a system-generated key.
Feb 14 11:12:16 XXXXXX Node-RED[332]: If the system-generated key is lost for any reason, your credentials
Feb 14 11:12:16 XXXXXX Node-RED[332]: file will not be recoverable, you will have to delete it and re-enter
Feb 14 11:12:16 XXXXXX Node-RED[332]: your credentials.
Feb 14 11:12:16 XXXXXX Node-RED[332]: You should set your own key using the 'credentialSecret' option in
Feb 14 11:12:16 XXXXXX Node-RED[332]: your settings file. Node-RED will then re-encrypt your credentials
Feb 14 11:12:16 XXXXXX Node-RED[332]: file using your chosen key the next time you deploy a change.
Feb 14 11:12:16 XXXXXX Node-RED[332]: ---------------------------------------------------------------------
Feb 14 11:12:16 XXXXXX Node-RED[332]: 14 Feb 11:12:16 - [info] Server now running at http://<IP_ADDRESS>:1880/admin/
Feb 14 11:12:16 XXXXXX Node-RED[332]: 14 Feb 11:12:16 - [info] Starting flows
Feb 14 11:12:16 XXXXXX Node-RED[332]: 14 Feb 11:12:16 - [info] Started flows
Feb 14 11:12:16 XXXXXX Node-RED[332]: 14 Feb 11:12:16 - [info] [mqtt-broker:MQTT_StromXXXXXX] Connected to broker: XXXXXX@mqtt://<IP_ADDRESS>:1883

I'm not able to reproduce this. The test I've done, on MacOS, is:

Created a temporary user directory - /tmp/aaa
Run node-red -u /tmp/aaa to initialise the settings etc
Edited settings.js to enable adminAuth and set httpAdminRoot to /admin
Set the folder permission to read-only and verified I cannot write to any files in that directory
Restarted node-red -u /tmp/aaa
Loaded the editor, logged in

I cannot think of any code path that will cause Node-RED to try to write to the file-system when you are just loading the editor.
Do you have any contrib nodes, such as uibuilder, installed? I'm wondering if something else is trying to write, unaware of the readOnly flag.

You might also want to try the following:

stop Node-RED
set the filesystem to read/write
install inotify-tools (sudo apt-get install inotify-tools)
in /home/pi/.node-red run the following command inotify-wait -e modify,create,delete,move -r .
start node-red

This should log any file writes, deletes or moves to any files in that directory tree which will at least show which file is being changed.

Palette only shows "node-red", "node-red-contrib-smartmeter" and "node-red-dashboard".
But this happened as well directly after installing node-red on RPI (without RPI specifc nodes).
The funny thing is that the js files where these issue occur are in /usr/lib/node_modules/node-red/node_modules/@node-red/editor-client/public/red (main.min.js and red.min.js).
And I don't see any filesystem access in strace nor in lsof (while filesystem is in rw).

I tried inotifywait but no output ...

BTW it is not related to a node-red start/stop ...
I can boot the system with / in RO and NR itself works fine (except the Editor).
I can on the fly remount / in RO or RW ... if it is in RW I can open /admin/, if it is in RO I can't .

What info is needed?

At this point, I'm not sure. We don't have enough information to identify the problem, so we either need to try to recreate from scratch, or identify what other questions to ask you.
Re-reading your previous comments, can you expand on:

the js files where these issue occur are in /usr/lib/node_modules/node-red/node_modules/@node-red/editor-client/public/red (main.min.js and red.min.js).

Do you mean those are the files being written to?

Hmm yesterday I started NR once with FileSystem in RW and also with readOnly=false in settings.js.
Main reason was to get rid of the Tour and News.
It created some "." files in /home/pi/.node-red/ which I deleted except .config.users.json and put filesystem back to RO and also switched readOnly directive back to true.
Since then I didn't had this issue any more ... don't know what happened ...
If the login page now stays white, I see "net::ERR_CONTENT_LENGTH_MISMATCH" in Chrome Developer Tools.


Add support for BigQuery customer-managed encryption keys.

As part of a query, load job, or create table request, you can specify the encryption configuration, which just consists of a single string field containing the KMS key to use.

I added my google.com email address.

I'll try to review this today. In future, could you open an issue explaining what you're planning on doing before starting the implementation? Hopefully in this case there won't be any problems, but in the past we've had contributors who have done a lot of work that could have been avoided by earlier collaboration.

This is useful as is, thanks!
I fixed the typos and also created an issue that I will look shortly (as soon as I found out how :-)) 1892

Fixed #1892

Right, in that case, will rebase and merge right now. Thanks!


Support for XPath / JsonPath

Maybe parse them with https://lib.rs/crates/skyscraper?

For JsonPath, use jsonpath_lib just like jsondocck does.


Fix camera and mic Mute buttons

Meet changed the jscontroller IDs for the mic and camera mute buttons. This updates the two jscontroller constants, and bumps the version.

Fixed/replaced by caf07e4bed943808c6c46c30f5a5df4262d43b7d


runtime-manager-linux: compilation fix

I think this change is needed since [4b22d1f], similar to [9585fe0] for linux-root-enclave

Fix was merge into [4c07f53]


help(mat-selection-list): can not achieve same ListKeyManager behaviour as in mat-select

What are you trying to do?
We are currently using mat-select with a search field provided by ngx-mat-select-search.
I am now trying to implement a similar search field functionality for mat-selection-list. Unfortunately, i am not able to achieve the same keyboard-navigation-behaviour as in the mat-select + ngx-mat-select-search combination.
In the mat-select case it is possible to have focus on the search field all the time while the keyboard navigation only changes the highlighted element. For the mat-selection-list, the options need to be actually focused in order to be highlighted.
The main problem lies (at least i think so) lies in the usage of different ListKeyManagers for mat-select (ActiveDescendantKeyManager) and mat-selection-list (FocusKeyManager).
Is there a way to use the ActiveDescendantKeyManager with the mat-selection-list?
Note: Sorry if this obviously related to some accessibility requirement.
What troubleshooting steps have you tried?
I tried to listen to keyboard events and passing them to the underlying FocusKeyManager, but the FocusKeyManager does not provide any functionality to only set an active element, without actually focusing it.
Reproduction
Use mat-selection-list with keyboard navigation. The highlighted element is also focused all the time.
Environment

Angular: 13.2.6
CDK/Material: 13.2.3
Browser(s): Edge
Operating System (e.g. Windows, macOS, Ubuntu): Windows

We don't support swapping out list key managers since the focus patterns are different. We also don't handle any integration with ngx-mat-select-search so doing so is at your own risk.


Corrected spelling. Thier to Their

I know it's silly, but every little bit helps!

Thank you @the907 🤓


ONBUILD ENTRYPOINT in base images

Since just recently STI allows using arbitrary images for doing build, the problem arises when one of the base images includes ONBUILD ENTRYPOINT instruction. This results in an image where the .sti/bin/run command will be appended after the ENTRYPOINT. This results in some weird behavior, depending what was specified as the ENTRYPOINT.

Similar problem exists k8s guys, see https://github.com/GoogleCloudPlatform/kubernetes/issues/2316

@soltysh we should have more modular builds that detect ONBUILD instruction and execute 'on-build' type of build. We should not be trying to do anything smart if the image we consume already have ONBUILD it uses this mechanism to build the application images.

Fixed in https://github.com/openshift/source-to-image/pull/124 you can now close this issue.