ERROR Exiting Kafka due to fatal exception during startup. (kafka.Kafka$)

Describe the bug
There is an error during datahub docker QuickStart
2023-11-02 20:36:42 kafka.common.InconsistentClusterIdException: The Cluster ID Xzl3J7H5R9KFPqhJwJjpww doesn't match stored clusterId Some(SWoJzy2JR922qyhMit2IzA) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
To Reproduce

run 'daatahub docker QuickStart'
Wait 'until broker can't start'
Go to docker logs
See error

2023-11-02 20:36:42 [2023-11-02 17:36:42,044] INFO Client environment:java.class.path=/usr/bin/../share/java/kafka/plexus-utils-3.3.0.jar:/usr/bin/../share/java/kafka/connect-transforms-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/jackson-module-jaxb-annotations-2.13.4.jar:/usr/bin/../share/java/kafka/jersey-server-2.34.jar:/usr/bin/../share/java/kafka/netty-handler-4.1.86.Final.jar:/usr/bin/../share/java/kafka/jetty-continuation-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/kafka-storage-api-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/kafka.jar:/usr/bin/../share/java/kafka/connect-json-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/snappy-java-<IP_ADDRESS>.jar:/usr/bin/../share/java/kafka/paranamer-2.8.jar:/usr/bin/../share/java/kafka/jetty-io-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/jackson-datatype-jdk8-2.13.4.jar:/usr/bin/../share/java/kafka/commons-cli-1.4.jar:/usr/bin/../share/java/kafka/argparse4j-0.7.0.jar:/usr/bin/../share/java/kafka/connect-api-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/jetty-http-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/hk2-api-2.6.1.jar:/usr/bin/../share/java/kafka/commons-lang3-3.8.1.jar:/usr/bin/../share/java/kafka/javax.ws.rs-api-2.1.1.jar:/usr/bin/../share/java/kafka/jakarta.annotation-api-1.3.5.jar:/usr/bin/../share/java/kafka/jackson-jaxrs-json-provider-2.13.4.jar:/usr/bin/../share/java/kafka/javassist-3.27.0-GA.jar:/usr/bin/../share/java/kafka/jaxb-api-2.3.0.jar:/usr/bin/../share/java/kafka/reflections-0.9.12.jar:/usr/bin/../share/java/kafka/kafka-group-coordinator-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/kafka_2.13-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/jetty-server-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/jetty-servlets-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/hk2-locator-2.6.1.jar:/usr/bin/../share/java/kafka/kafka-shell-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/connect-basic-auth-extension-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/scala-java8-compat_2.13-1.0.2.jar:/usr/bin/../share/java/kafka/connect-mirror-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/kafka-storage-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/connect-mirror-client-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/rocksdbjni-7.1.2.jar:/usr/bin/../share/java/kafka/activation-1.1.1.jar:/usr/bin/../share/java/kafka/jakarta.inject-2.6.1.jar:/usr/bin/../share/java/kafka/jersey-container-servlet-2.34.jar:/usr/bin/../share/java/kafka/kafka-metadata-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/scala-collection-compat_2.13-2.6.0.jar:/usr/bin/../share/java/kafka/jakarta.ws.rs-api-2.1.6.jar:/usr/bin/../share/java/kafka/netty-buffer-4.1.86.Final.jar:/usr/bin/../share/java/kafka/connect-runtime-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/kafka-streams-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/netty-transport-classes-epoll-4.1.86.Final.jar:/usr/bin/../share/java/kafka/jopt-simple-5.0.4.jar:/usr/bin/../share/java/kafka/jersey-container-servlet-core-2.34.jar:/usr/bin/../share/java/kafka/jackson-dataformat-csv-2.13.4.jar:/usr/bin/../share/java/kafka/scala-reflect-2.13.10.jar:/usr/bin/../share/java/kafka/jackson-module-scala_2.13-2.13.4.jar:/usr/bin/../share/java/kafka/kafka-streams-examples-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/zookeeper-3.6.4.jar:/usr/bin/../share/java/kafka/jersey-client-2.34.jar:/usr/bin/../share/java/kafka/jose4j-0.7.9.jar:/usr/bin/../share/java/kafka/kafka-streams-scala_2.13-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/maven-artifact-3.8.4.jar:/usr/bin/../share/java/kafka/kafka-raft-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/jersey-common-2.34.jar:/usr/bin/../share/java/kafka/jetty-util-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/jakarta.xml.bind-api-2.3.3.jar:/usr/bin/../share/java/kafka/metrics-core-2.2.0.jar:/usr/bin/../share/java/kafka/lz4-java-1.8.0.jar:/usr/bin/../share/java/kafka/aopalliance-repackaged-2.6.1.jar:/usr/bin/../share/java/kafka/netty-codec-4.1.86.Final.jar:/usr/bin/../share/java/kafka/reload4j-1.2.19.jar:/usr/bin/../share/java/kafka/netty-transport-4.1.86.Final.jar:/usr/bin/../share/java/kafka/jetty-security-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/kafka-clients-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/scala-logging_2.13-3.9.4.jar:/usr/bin/../share/java/kafka/javax.annotation-api-1.3.2.jar:/usr/bin/../share/java/kafka/jetty-servlet-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/jetty-util-ajax-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/jakarta.validation-api-2.0.2.jar:/usr/bin/../share/java/kafka/netty-resolver-4.1.86.Final.jar:/usr/bin/../share/java/kafka/jackson-annotations-2.13.4.jar:/usr/bin/../share/java/kafka/slf4j-reload4j-1.7.36.jar:/usr/bin/../share/java/kafka/jackson-jaxrs-base-2.13.4.jar:/usr/bin/../share/java/kafka/slf4j-api-1.7.36.jar:/usr/bin/../share/java/kafka/zstd-jni-1.5.2-1.jar:/usr/bin/../share/java/kafka/jackson-core-2.13.4.jar:/usr/bin/../share/java/kafka/jline-3.21.0.jar:/usr/bin/../share/java/kafka/netty-common-4.1.86.Final.jar:/usr/bin/../share/java/kafka/hk2-utils-2.6.1.jar:/usr/bin/../share/java/kafka/kafka-tools-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/zookeeper-jute-3.6.4.jar:/usr/bin/../share/java/kafka/jetty-client-9.4.48.v20220622.jar:/usr/bin/../share/java/kafka/audience-annotations-0.13.0.jar:/usr/bin/../share/java/kafka/trogdor-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/metrics-core-<IP_ADDRESS>.jar:/usr/bin/../share/java/kafka/netty-transport-native-unix-common-4.1.86.Final.jar:/usr/bin/../share/java/kafka/scala-library-2.13.10.jar:/usr/bin/../share/java/kafka/jakarta.activation-api-1.2.2.jar:/usr/bin/../share/java/kafka/jackson-databind-<IP_ADDRESS>.jar:/usr/bin/../share/java/kafka/kafka-server-common-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/osgi-resource-locator-1.0.3.jar:/usr/bin/../share/java/kafka/kafka-log4j-appender-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/swagger-annotations-2.2.0.jar:/usr/bin/../share/java/kafka/kafka-streams-test-utils-7.4.0-ccs.jar:/usr/bin/../share/java/kafka/javax.servlet-api-3.1.0.jar:/usr/bin/../share/java/kafka/jersey-hk2-2.34.jar:/usr/bin/../share/java/kafka/netty-transport-native-epoll-4.1.86.Final.jar:/usr/bin/../share/java/confluent-telemetry/* (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:java.library.path=/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:java.io.tmpdir=/tmp (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:os.name=Linux (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:os.version=6.4.16-linuxkit (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:user.name=appuser (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:user.home=/home/appuser (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:user.dir=/home/appuser (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:os.memory.free=241MB (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:os.memory.max=256MB (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,045] INFO Client environment:os.memory.total=256MB (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,051] INFO Initiating client connection, connectString=zookeeper:2181 sessionTimeout=18000 watcher=kafka.zookeeper.ZooKeeperClient$ZooKeeperClientWatcher$@5d5f10b2 (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,060] INFO jute.maxbuffer value is 4194304 Bytes (org.apache.zookeeper.ClientCnxnSocket)
2023-11-02 20:36:42 [2023-11-02 17:36:42,070] INFO zookeeper.request.timeout value is 0. feature enabled=false (org.apache.zookeeper.ClientCnxn)
2023-11-02 20:36:42 [2023-11-02 17:36:42,075] INFO [ZooKeeperClient Kafka server] Waiting until connected. (kafka.zookeeper.ZooKeeperClient)
2023-11-02 20:36:42 [2023-11-02 17:36:42,080] INFO Opening socket connection to server zookeeper/<IP_ADDRESS>:2181. (org.apache.zookeeper.ClientCnxn)
2023-11-02 20:36:42 [2023-11-02 17:36:42,092] INFO Socket connection established, initiating session, client: /<IP_ADDRESS>:59094, server: zookeeper/<IP_ADDRESS>:2181 (org.apache.zookeeper.ClientCnxn)
2023-11-02 20:36:42 [2023-11-02 17:36:42,103] INFO Session establishment complete on server zookeeper/<IP_ADDRESS>:2181, session id = 0x100063596e9000d, negotiated timeout = 18000 (org.apache.zookeeper.ClientCnxn)
2023-11-02 20:36:42 [2023-11-02 17:36:42,108] INFO [ZooKeeperClient Kafka server] Connected. (kafka.zookeeper.ZooKeeperClient)
2023-11-02 20:36:42 [2023-11-02 17:36:42,452] INFO Cluster ID = Xzl3J7H5R9KFPqhJwJjpww (kafka.server.KafkaServer)
2023-11-02 20:36:42 [2023-11-02 17:36:42,462] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
2023-11-02 20:36:42 kafka.common.InconsistentClusterIdException: The Cluster ID Xzl3J7H5R9KFPqhJwJjpww doesn't match stored clusterId Some(SWoJzy2JR922qyhMit2IzA) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
2023-11-02 20:36:42     at kafka.server.KafkaServer.startup(KafkaServer.scala:234)
2023-11-02 20:36:42     at kafka.Kafka$.main(Kafka.scala:115)
2023-11-02 20:36:42     at kafka.Kafka.main(Kafka.scala)
2023-11-02 20:36:42 [2023-11-02 17:36:42,468] INFO shutting down (kafka.server.KafkaServer)
2023-11-02 20:36:42 [2023-11-02 17:36:42,472] INFO [ZooKeeperClient Kafka server] Closing. (kafka.zookeeper.ZooKeeperClient)
2023-11-02 20:36:42 [2023-11-02 17:36:42,588] INFO Session: 0x100063596e9000d closed (org.apache.zookeeper.ZooKeeper)
2023-11-02 20:36:42 [2023-11-02 17:36:42,588] INFO EventThread shut down for session: 0x100063596e9000d (org.apache.zookeeper.ClientCnxn)
2023-11-02 20:36:42 [2023-11-02 17:36:42,592] INFO [ZooKeeperClient Kafka server] Closed. (kafka.zookeeper.ZooKeeperClient)
2023-11-02 20:36:42 [2023-11-02 17:36:42,605] INFO App info kafka.server for 1 unregistered (org.apache.kafka.common.utils.AppInfoParser)
2023-11-02 20:36:42 [2023-11-02 17:36:42,605] INFO shut down completed (kafka.server.KafkaServer)
2023-11-02 20:36:42 [2023-11-02 17:36:42,605] ERROR Exiting Kafka due to fatal exception during startup. (kafka.Kafka$)
2023-11-02 20:36:42 kafka.common.InconsistentClusterIdException: The Cluster ID Xzl3J7H5R9KFPqhJwJjpww doesn't match stored clusterId Some(SWoJzy2JR922qyhMit2IzA) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
2023-11-02 20:36:42     at kafka.server.KafkaServer.startup(KafkaServer.scala:234)
2023-11-02 20:36:42     at kafka.Kafka$.main(Kafka.scala:115)
2023-11-02 20:36:42     at kafka.Kafka.main(Kafka.scala)
2023-11-02 20:36:42 [2023-11-02 17:36:42,607] INFO shutting down (kafka.server.KafkaServer)

Expected behavior
Run successful
Screenshots

Desktop (please complete the following information):

OS: [e.g. Mac OS X]
Browser [e.g. chrome, safari]
Version [e.g. 0.12]

Additional context

same result on Ubuntu 22

This should've been fixed by https://github.com/datahub-project/datahub/pull/9148 - is this issue still happening on a fresh quickstart?

I'm still getting this on MacOS.  Have been unable to successfully run the app yet.  Images were downloaded as part of this run.
❯ datahub --version
acryl-datahub, version <IP_ADDRESS>
❯ datahub docker quickstart

Results as above.
Docker logs:
2023-12-19 16:55:33 [2023-12-20 00:55:33,832] INFO [ZooKeeperClient Kafka server] Connected. (kafka.zookeeper.ZooKeeperClient)
2023-12-19 16:55:33 [2023-12-20 00:55:33,945] INFO Cluster ID = EOMZ1IoTT8KwPfqZEMxe2g (kafka.server.KafkaServer)
2023-12-19 16:55:33 [2023-12-20 00:55:33,948] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
2023-12-19 16:55:33 kafka.common.InconsistentClusterIdException: The Cluster ID EOMZ1IoTT8KwPfqZEMxe2g doesn't match stored clusterId Some(EmfiZZf7SUSK-yft0Euz3w) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
2023-12-19 16:55:33     at kafka.server.KafkaServer.startup(KafkaServer.scala:234)
2023-12-19 16:55:33     at kafka.Kafka$.main(Kafka.scala:115)
2023-12-19 16:55:33     at kafka.Kafka.main(Kafka.scala)
2023-12-19 16:55:33 [2023-12-20 00:55:33,949] INFO shutting down (kafka.server.KafkaServer)
2023-12-19 16:55:33 [2023-12-20 00:55:33,950] INFO [ZooKeeperClient Kafka server] Closing. (kafka.zookeeper.ZooKeeperClient)
2023-12-19 16:55:34 [2023-12-20 00:55:34,053] INFO Session: 0x1000757e42e0013 closed (org.apache.zookeeper.ZooKeeper)
2023-12-19 16:55:34 [2023-12-20 00:55:34,053] INFO EventThread shut down for session: 0x1000757e42e0013 (org.apache.zookeeper.ClientCnxn)
2023-12-19 16:55:34 [2023-12-20 00:55:34,053] INFO [ZooKeeperClient Kafka server] Closed. (kafka.zookeeper.ZooKeeperClient)
2023-12-19 16:55:34 [2023-12-20 00:55:34,056] INFO App info kafka.server for 1 unregistered (org.apache.kafka.common.utils.AppInfoParser)
2023-12-19 16:55:34 [2023-12-20 00:55:34,056] INFO shut down completed (kafka.server.KafkaServer)
2023-12-19 16:55:34 [2023-12-20 00:55:34,056] ERROR Exiting Kafka due to fatal exception during startup. (kafka.Kafka$)
2023-12-19 16:55:34 kafka.common.InconsistentClusterIdException: The Cluster ID EOMZ1IoTT8KwPfqZEMxe2g doesn't match stored clusterId Some(EmfiZZf7SUSK-yft0Euz3w) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
2023-12-19 16:55:34     at kafka.server.KafkaServer.startup(KafkaServer.scala:234)
2023-12-19 16:55:34     at kafka.Kafka$.main(Kafka.scala:115)
2023-12-19 16:55:34     at kafka.Kafka.main(Kafka.scala)
2023-12-19 16:55:34 [2023-12-20 00:55:34,056] INFO shutting down (kafka.server.KafkaServer)

@sirosc Can you try running a datahub docker nuke first, and then rerunning quickstart? If you have data stored in your instance, you can use a backup and restore (https://datahubproject.io/docs/next/quickstart#back-up-datahub).
It'd also be enough to remove the broker and zookeeper containers and remove their underlying volumes.

THanks.  That worked.  I thought deleting the images within docker desktop would be enough, but clearly not.

@sirosc yup it was some of the zookeeper/kafka volumes that were the root cause of the problem.


[SR-13099] [SwiftPM] Xcode project targets from generate-xcodeproj do not include resources

Previous ID
SR-13099

Radar
rdar://64804615

Original Reporter
@purpleblues

Type
Bug

Attachment: Download

Environment
Xcode Version 12.0 beta (12A6159)

Additional Detail from JIRA

Votes
0

Component/s
Package Manager

Labels
Bug

Assignee
None

Priority
Medium

md5: 2133e47b3d62a1c99d1be876fcf5cdfb

Issue Description:
Xcode project targets made by swift package generate-xcodeproj do not include any resources associated with the targets
Expected Behavior: Generated Xcode project target has build phases that handle resources from the package target (e.g. Copy Bundle Resources for plain text files or image files, Compile Sources for Metal shaders)
Current Behavior: None of the package target resources are handled during the build processes of generated Xcode project target.

@tomerd this can be closed since generate-xcodeproj has been removed.


Integrate benchcomp solver comparison with VSCode Extension

Users should have an easy interface to add the fastest solver as an annotation to their Kani harness.
Harnesses that do not have a solver annotation should allow users to right-click and trigger a canned benchcomp run that compares the harness over different solvers. The fastest solver should then be added to the harness as an annotation.

cc @jaisnan


tx2 inference

Hi,
I ran your 19.10 branch on tx2. I used retina(resnet50fpn) . model successfully worked but frame rate is slow (9fps for 640*640).
I saw nvidia deepstream samples with very high frame rate. so I expect higher fps.
is my result acceptable? how can I get higher speed like nvidia sample???

Hello, TX2 doesn't have native INT8 tensor cores, our samples with Jetson platform were performed on Xavier AGX.
I would suggest you either lower your input resolution and/or skip frames during deepstream inference by changing this line.


google-java-format plugin is no longer maintained

The google-java-format won't work properly when updating the Gradle Wrapper to use the latest gradle version (currently 8.4)
The owner of the google-java-format plugin confirmed that the plugin is no longer maintained back in Feb 2021: https://github.com/sherter/google-java-format-gradle-plugin/issues/57#issuecomment-782886280
I suggest migrating to use the spotless plugin as it's actively developed: https://github.com/diffplug/spotless

Thanks for the heads up and the PR! I'll take a look.


Release 0.1.0: core language done

To avoid the situation where the language just asymptotically approaches being done, here's a list of things that have to be implemented to call the core language (not the broader stdlib ecosystem etc.) done:

Support for reading command line arguments: #232
Getting pointers to functions and methods: #276
Calling function pointers: #289
Export functions to C:  #286
Type parameters in typeclass methods: #285
Support compiling without an entrypoint (to make libraries): #291
Very minimal standard library (to test that the core language isn't lacking anything crucial): #292
Add a --version flag: #293
A better CLI: #294
Monomorphize functions with only region typarams: #203

I forgot to close this but here it is: https://github.com/austral/austral/releases/tag/v0.1.0


[C_CPP]: History of C_CPP

Description
History of C_CPP
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Cannot deserialize field of type Map<String, CustomClass> from json

First of all thank you for your awesome work, I'm using this library in a big project of our software company, you save my a lot of time,
//This is my entity:

@EnableReflection()
class Person {
  String name;
  String email;
  Map<String, Address> address; //There is the line that produce error
  Person(this.name, this.email, this.address);
}

@EnableReflection()
class Address {
  String uuid;
  String country;
  String city;
  Address(this.uuid, this.country, this.city);
}

//And using it like this:

Future<void> main(List<String> args) async {
  final person = Person("Person", "Email", {"123456": Address("123456", "Country", "City")});
  final jsonMapOfPerson = person.toJsonMap(); //There is no error of serialization
  final personFromJson = Person$fromJson(jsonMapOfPerson!); //But this is not.
  print("personFromJson: $personFromJson");
}

above code produces error looks like below:
Error invoking[0]>
  - constructor: ConstructorReflection{ class: Person, name: , normalParameters: [ParameterReflection{type: String, name: name, required}, ParameterReflection{type: String, name: email, required}, ParameterReflection{type: Map<String,Address>, name: address, required}], optionalParameters: [], namedParameters: {} }
  - map: {address: {123456: {city: City, country: Country, uuid: 123456}}, email: Email, name: Person}
  - methodInvocation: MethodInvocation{normalParameters: [Person, Email, {123456: {city: City, country: Country, uuid: 123456}}], optionalParameters: [], namedParameters: {}}
  - error: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Map<String, Address>' of 'address'

Unhandled exception:
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Map<String, Address>' of 'address'

but everything is perfect and no error if I try to change the type of field Map<String, Address> address; to List<Address> address; looks like this:
@EnableReflection()
class Person {
  String name;
  String email;
  List<Address> address;
  Person(this.name, this.email, this.address);
}

@EnableReflection()
class Address {
  String uuid;
  String country;
  String city;
  Address(this.uuid, this.country, this.city);
}

Future<void> main(List<String> args) async {
  final person = Person("Person", "Email", [Address("123456", "Country", "City")]);
  final jsonMapOfPerson = person.toJsonMap();
  final personFromJson = Person$fromJson(jsonMapOfPerson!);
  print("personFromJson: $personFromJson");
}

is there any way to do this?
thank you.

looks like What I want is FieldResolver, lets start some research.

It should work. I will make some tests in the next days. And yes, the List version works because we use it all over the place and tested it better.
I think that the issue is to create a casted Map. For now you can use a factory constructor that receives a Map<String, dynamic> and fixes your address parameter to Map<String, Address> and passes to a private constructor.

I have identified the error and I already have a working fix. Just making some extra unit tests...

You can try it with:
dependency_overrides:
  reflection_factory:
    git:
      url: https://github.com/gmpassos/reflection_factory.git
      ref: fix-map-casting

Let me know if it works. Don't forget to rebuild the reflection code.

Fixed on version v1.2.18:
https://pub.dev/packages/reflection_factory

Thank you for your reply, the v1.2.18 version is now working as expected with my sample code above but the new version is generates new error like:
Error invoking[0]>
  - constructor: ConstructorReflection{ class: RpcCallRequest, name: , normalParameters: [], optionalParameters: [], namedParameters: {argument: ParameterReflection{type: Map<String,dynamic>, name: argument, required}, methodName: ParameterReflection{type: String, name: methodName, required}, requestId: ParameterReflection{type: String, name: requestId, required}, timeoutMilliseconds: ParameterReflection{type: int, name: timeoutMilliseconds, required}} }
  - map: {argument: {step: 1}, methodName: incAndGet, requestId: 8afa83db-7a25-4f03-98b5-c89c472b27cd, timeoutMilliseconds: 15000}
  - methodInvocation: MethodInvocation{normalParameters: [], optionalParameters: [], namedParameters: {argument: {step: 1}, methodName: incAndGet, requestId: 8afa83db-7a25-4f03-98b5-c89c472b27cd, timeoutMilliseconds: 15000}}
  - error: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' of 'argument'

Error invoking[0]>
  - constructor: ConstructorReflection{ class: RpcCallRequest, name: , normalParameters: [], optionalParameters: [], namedParameters: {argument: ParameterReflection{type: Map<String,dynamic>, name: argument, required}, methodName: ParameterReflection{type: String, name: methodName, required}, requestId: ParameterReflection{type: String, name: requestId, required}, timeoutMilliseconds: ParameterReflection{type: int, name: timeoutMilliseconds, required}} }
  - map: {argument: {step: 1}, methodName: incAndGet, requestId: 8afa83db-7a25-4f03-98b5-c89c472b27cd, timeoutMilliseconds: 15000}
  - methodInvocation: MethodInvocation{normalParameters: [], optionalParameters: [], namedParameters: {argument: {step: 1}, methodName: incAndGet, requestId: 8afa83db-7a25-4f03-98b5-c89c472b27cd, timeoutMilliseconds: 15000}}
  - error: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' of 'argument'

anyhow above test code is working for me with Map<String, CustomType>, I will let you know if I find the new kind of error whatever this is my mistake or not.
thank you

I'm looking for a similar bug now...

I found the reason of above error,  Map<String, CustomClass> is working perfect, but also I have used reflection_factory in many place of my code with type Map<String, dynamic>, so type of Map<String, dynamic> is failed with version: v1.2.18 and no error with version v1.2.17
here is the simple demonstration code:
This code is working on v1.2.17 but on v1.2.18 is not.
@EnableReflection()
class Person {
  DateTime createdAt;
  String name;
  String email;
  Map<String, dynamic> address; //
  Person(this.createdAt, this.name, this.email, Map<String, dynamic> address) : address = address;
}

@EnableReflection()
class Address {
  String uuid;
  String country;
  String city;
  Address(this.uuid, this.country, this.city);
}

Future<void> main(List<String> args) async {
  final person = Person(DateTime.now(), "Person", "Email", {"123456": Address("123456", "Country", "City")});
  final jsonMapOfPerson = person.toJsonMap();
  final instance = Person$fromJson(jsonMapOfPerson!);
  print("personFromJson: $instance");
}

Please, true the branch fix-castMapType

It should work. I will make some tests in the next days. And yes, the List version works because we use it all over the place and tested it better.
I think that the issue is to create a casted Map. For now you can use a factory constructor that receives a Map<String, dynamic> and fixes your address parameter to Map<String, Address> and passes to a private constructor.

This is working for me at this moment, thanks :)

I will release a new version soo, but I need some extra tests...

Please, try the branch fix-castMapType
dependency_overrides:
  reflection_factory:
    git:
      url: https://github.com/gmpassos/reflection_factory.git
      ref: fix-castMapType

If possible, confirm if this branch fixes your new issue with Map<String, dynamic>

Confirmed, this is works both Map<String, dynamic> and Map<String, Address>,
I'm so sorry for my slow reply, our g0vernment is prevent us to open Github so github cannot open a while...
thank you.

Done:
reflection_factory: ^1.2.19

Please, check the newer version:
reflection_factory: ^1.2.21
I have upgraded to analyzer: ^5.4.0
Let me know if it works well.

@Ug-Projekt,
Please, check the newer version: reflection_factory: ^1.2.21
I have upgraded to analyzer: ^5.4.0
Let me know if it works well.

Confirmed.
My project works with reflection_factory: ^1.2.21
thank you.


METRON-449 - JSON Parser should unfold nested maps

For greater flexibility and utility the JSONMapParser should support unfolding maps to arbitrary depths.
This change introduces a new function called recursively to handle this, because the enum lambdas cannot reference themselves.

I don't think I should be carrying the other commits.  I didn't rebase.  I'll redo


Keep Octavia disabled by default on 17.1 deployments

Enabling octavia by default in the 17.1 envs seems to crash adoption
jobs. The problem seems to be that octavia is not yet adopted, so when
running tempest the load-balancer is announced, but is not really
functional because the tripleo-cleanup service kills it, leading to
tempest crashing.
Depends-On: https://github.com/openstack-k8s-operators/data-plane-adoption/pull/567

recheck

/approve


Refactor single content page for new data format

We have changed the format of the payload returned from
the backend service. The old format was:
{
"unique_pageviews": {
"total": 100,
"latest": 50
}
}
The new format is:
{
"unique_pageviews": 100
}
This is part of Trello: https://trello.com/c/hjj6IJXH/621-3-show-metadata-information-in-the-single-performance-page-epic-2

 (3) Add metrics Charts for the Single Performance Page (EPIC 2)


Centrally normalize vulnerability data

Please have a look at the individual commit messages for the details.
/cc @lamppu @Etsija

Merging prematurely as relevant checks have passed.


Ability to switch between profiles

Fixes #294.
Adds the ability to define custom profiles, in addition to the current hardcoded "default" profile, and switch between them.
Also adds the ability to delete profiles and individual settings.
Unit tests to validate the user flows are added.

This PR is on hold until we clarify its usefulness.

Closing as #396 makes this obsolete.


Wrong Compiler Version in Release 0.1.1

Describe the bug
If you download the current release "0.1.1" and run caramel version the output is caramel v0.1.0 instead of caramel v0.1.1.
I have only tested this with caramel-v0.1.1-x86_64-unknown-linux-gnu.tar.gz but my guess is the other builds are affected as well.
Environment (please complete the following information):

OS: Linux (gnu not musl)
Caramel version: latest Release '0.1.1'

Thanks! It's probably a mistake in how we're bundling the version number into the final binary.


Bug: [@xstate/store] typings broken

XState version
XState version 5
Description
the transition event is broken when i pass a type to create.
because i try to access event: { newContext } but types expect update to possibly also be {type: update} which breaks the types.
Couldn't find an example in your repo on typing stores so maybe i'm doing it wrong.
Expected result
type to not show an error
Actual result
showing a type error when passing the update fn
Reproduction
https://replit.com/join/ifbbvxzfvf-wcastand
Additional context
No response

Can you try with the latest version?

looks fixed, thanks :)


Using R.swift in a mixed or Objective-C project

Hi everyone,
i want to use R.swift in my Objecitve-C Project and used !use_frameworks in the pod file. But after importing the R.generated.swift file i cant compile anymore because in the swift file he cant find all the classed because they are not imported in the bridge header, but i dont want to add manually 100 classes to the bridge file.
Do u have any suggestions for this kind of issue?
Thanks :)

I'm not familiar with anybody using R.swift in combination with Objective-C.
It's not a scenario that we've considered or tested when building R.swift.
However, if there's someone that actually managed to get this to work, I'd be interested in hearing about it!

Hi, I can point out as a side note, that it does indeed work (very well in fact),if (and only if) you add all the headers. (I have tried it on a large project, and that was almost a 100 headers to import).
The best solution is to either copy the errors from xcode into the bridgeheader and then (propperly macro it), to change the lines into import statements.

I think the consequence of using a mixed project is that you have to import ObjC class referenced in a Swift file. We could generate code into the bridging header, but I feel that use case is not big enough to put so much time into.
For now I would suggest to copy the errors and macro/script/use a smart editor to quickly convert them to imports for in the bridging header. Once somebody has written a small script to do it that would be an easy way of getting those imports in a the bridging header.

If anyone is still interested on using R.swift in ObjC project, I announce you we (tried to) implement an ObjC alternative, freely inspired (Thank you a lot) to R.swift: https://github.com/SysdataSpA/R.objc

Awesome @sysdataitalia! Very nice of you to share this with us, it's great to be an inspiration and nice to see you're taking care of all of us that use ObjC for their projects! Great!

@mac-cain13 didn't want to make a new issue, but I'm curious what the chances are that you would merge Objective-C support for R.swift if I were to write it up. Right now in a branch of mine I am just tacking this on to the end of R.generated.swift. It's opt-in only, (pass --objc on the CLI).

The reason for this support is making it easier to identify unused resources in our project. R.swift's validate goes a long way to validating images contained in xibs and storyboards (which I am very thankful for!) however we still have 277 instances of [UIImage imageNamed:@"…"] in our codebase (large project, as you could probably tell by the line numbers in that screenshot). It's way too much code to migrate, but exposing R.swift's functionality to Objective-C would be a huge win for us (and maybe others).
Things I'd promise on the eventual PR:

Objective-C support would have little impact on the current code base. It could live in its own directory as extensions that implement ObjcConvertibleCode on Struct, Function, etc.
It would be tested.
It would be opt-in only (it is right now, but just want it in the list because I think it's important).

However, I also understand the name of this project is R.swift, so if you don't want support added that's fine by me as well. I'll still write it all up in a fork, but to be honest it'll probably be worse quality and not tested as well if I know it won't hit upstream :)

Hi, I can point out as a side note, that it does indeed work (very well in fact),if (and only if) you add all the headers. (I have tried it on a large project, and that was almost a 100 headers to import).
The best solution is to either copy the errors from xcode into the bridgeheader and then (propperly macro it), to change the lines into import statements.

how can I do that?
"Cannot find type 'x' has scope" errors


Bump spec-classes to v1.5.3

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ No valid build backend found for Python recipe for package spec-classes using pip. Python recipes using pip need to explicitly specify a build backend in the host section. If your recipe has built with only pip in the host section in the past, you likely should add setuptools to the host section of your recipe.
ℹ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.

For the host section of the recipe, you should usually use python {{ python_min }} for the python entry.
For the run section of the recipe, you should usually use python >={{ python_min }} for the python entry.
For the test.requires section of the recipe, you should usually use python {{ python_min }} for the python entry.
If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12360972996. Examine the logs at this URL for more detail.


incremented version, cleaned-up SDK SPM manifest

Description of the change

incremented version, cleaned-up SDK SPM manifest

Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Related issues

n/a

Checklists
Development

[ ] Lint rules pass locally
[ ] The code changed/added as part of this pull request has been covered with tests
[ ] All tests related to the changed code pass in development

Code review

[ ]  This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
[ ] "Ready for review" label attached to the PR and reviewers mentioned in a comment
[ ] Changes have been reviewed by at least one other engineer
[ ] Issue from task tracker has a link to this pull request

@pawelsz-rb , thank you!


Keep raw settings on missing variable

Add parameter keepNonResolvedVariables to ConfigurationSubstitutor
Update ApplySubstitution : on non resolved variable without fallback value, if configured for not throwing on missing variable, keep original setting.
Use case: I want to access my invalid settings to log them and manage the exception throwing by myself

Thanks @MickaJsd I will publish a Nuget package soon


SVM: Cleanup transaction processor construction

Problem
SVM::TransactionBatchProcessor contains reference to some of the Bank fields. The code can become unmaintainable in future if modifications to some of these fields are not correctly reflected in the SVM.
Summary of Changes
Remove duplicate fields from Bank and provide accessors to those fields through SVM. Update code and tests to use the accessors.
Fixes #

Codecov Report
Attention: Patch coverage is 77.08333% with 11 lines in your changes are missing coverage. Please review.

Project coverage is 81.8%. Comparing base (14d6c79) to head (267d231).
Report is 14 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #974     +/-   ##
=========================================
- Coverage    81.9%    81.8%   -0.1%
=========================================
  Files         853      853
  Lines      231797   231956    +159
=========================================
+ Hits       189845   189938     +93
- Misses      41952    42018     +66


Fullerton College

https://www.fullcoll.edu/
https://catalog.nocccd.edu/fullerton-college/course-descriptions/csci/
https://fcnet.fullcoll.edu/accounts/students/
@student.nocccd.edu
student.txt

@magicoflolis I am sorry, I have to close the request without merging, because you made a mistake in a request and requested to merge too many files, most of them do not relate to the organization which you would like to add to this repository. Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Dart_IntegerToInt64 expects argument 'integer' to be non-null.

Hello again @aam,
My server is crashing with this error Dart_IntegerToInt64 expects argument 'integer' to be non-null. when I try to call
resultSet.getStringByName("column"). I have dug into your code and believe it may be coming from OracleMetadataVector_GetColumnName or OracleResultSet_Get.
Do you have any ways to work around this?

I think the reason for this error is that oracledart can't find column with "column" name. I think column names should be all uppercases - that's what Oracle expects as far as I know.
You can confirm list of columns by scanning result of resultset.getMetadataVector().
OracleMetadataVector metadata = resultset.getMetadataVector();
    var columns = {};
    for (int i = 0; i < metadata.getSize(); i++) {
      columns[metadata.getColumnName(i)] = i + 1;
    }
    resultset.next();

Yeah I was accessing a non-existant column. Is there anyway there could be a better error message? Or perhaps an exception thrown. I'll happily contribute the code when I get the chance.

Absolutely there could and there should.


Fix GitHub Actions

Recovery for #785

all ci and Github actions now finally seem to work.

Waiting for Actions to revive...


Changing the parameterized file to use COUNT_BIG(*)

Changing the parameterized file to use COUNT_BIG() since some SQL Server data sources have an overflow when using COUNT() due to the size of the tables.

I will work on getting this merged. I have to learn how this is done in GitHub.

This is complete in the r_package branch .  Just merge into master

Marc's version already has the modified sql. The goal is to make his version the new master branch.


[20.09] lasso: Fix signature verification in AuthnResponse messages

Motivation for this change
Backport: #125385
Fixes: CVE-2021-28091
(cherry picked from commit bdf95a994e4af4237843ed4fe2b791c3387e32ff)
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

@risicle we have been packaging mod_auth_mellon since 2016 25fbac5. I'm not sure if I missed anything related to 20.09 to make this better.

Sorry I was going by https://hydra.nixos.org/eval/1674368?filter=mod_auth_mellon :confused:
Anyway, if you're happy with it, let's merge.

All good! Thanks for backporting.


Add callback function to options.

Related to issue #185.

Looks good to me. thank you for sending the pull request. Please add a short description to the readme as well. I will merge once you have done that.

Done, I hope this is enough. Let me know when I can get a version containing this change from npm.
Keep up the good work.

Released as v0.61.0


Initial content

I will update: user-installed software will use conda env create or conda env clone, and the files will land under the user's home directory.  It's not really conceptually different than using venv was, except that you're using conda commands to do it.
For the second one: if you're using Release 25 of the stack, we never update that image.  It stays the same, warts and all (this is not strictly true; we CAN rebuild older versions, but in general, we don't; when we rebuild them, we rebuild them with the set of packages that was in them the first time, because otherwise reproducibility and indeed functionality get very dicey).  There are certainly problems starting ancient versions of the Lab containers even now.  However, I think the churn is decreasing, and we are evolving towards a steadier state.  In the worst case, in order to run a deeply historical version, you'd need to stand up an RSP environment with the rest of the machinery that matched the version at that date.  Since we have all the history in GitHub, this is a pain, but doable.  In the more likely case we could skate around the provisioning machinery with newer startup scripts in the container, but have all the RPM and Python packages of the initial version of the image.
Third: you'd have to have different conda envs with your custom software, one that worked with Version X and one with version Y.
A remote kernel model is an interesting idea and perhaps something we should explore, but that would be a major rearchitecture, and is way beyond the scope of what I'm looking to do right now.

I don't know what our formal requirements are in this area, but as a researcher I do think we need to provide a way for researchers to bring back the same environment they used in year 1 of the survey as in year 10 for the sake of reproducing papers and comparing systematics in algorithms etc. I agree with adopting rubinenv has a short-term practical step, but long term I think we've got to figure this out. Otherwise, I'm not sure how people will be able to do science on the RSP.

I am a bit confused about which packages are where currently, and which packages will be where when we end?
It seems like we shouldn't be adding any packages to the stack python environment (conda or otherwise), because those things may move unpinned requirements around.  I thought we are mostly installing jupyterlab python stuff, and that wouldn't necessarily need to be in the stack python environment?  Couldn't the jupyter parts be in its own environment that doesn't contain the whole stack?
It also seems like we add some packages or versions to the stack python that do impact processing, or are used for processing, and I feel like those should be more managed by whoever is managing stack dependencies.
Maybe I'm just off base and need to understand more what packages are expected in what environments.  It's a little fuzzy there.
Either way, it seems like we could take an old stack container, and slap a new jupyter on top at any time right?  And mint it as a container that does science like the original, but works with the new system?  I agree we don't want to be resurrecting old platforms and their dependencies to run old versions.

I am a bit confused about which packages are where currently, and which packages will be where when we end?

Currently everything is jammed into the stack environment (with pip right now); there is a separate environment with everything jammed into it but without the stack, which we use to run Jupyter itself and which is the "system" python.

It seems like we shouldn't be adding any packages to the stack python environment (conda or otherwise), because those things may move unpinned requirements around. I thought we are mostly installing jupyterlab python stuff, and that wouldn't necessarily need to be in the stack python environment? Couldn't the jupyter parts be in its own environment that doesn't contain the whole stack?

It's not that simple.  There are things, like the Jupyter machinery and some lab extensions, that could be in a fairly minimal environment that did not do much besides launch the stack and then present the Jupyter UI.
But there are other things, like Bokeh, that have to interact with things happening in the stack environment, and then create UI effects through JupyterLab to present to the user.  That's the concerning bit.

It also seems like we add some packages or versions to the stack python that do impact processing, or are used for processing, and I feel like those should be more managed by whoever is managing stack dependencies.

Except the stack is designed for batch rather than interactive processing.  It doesn't make sense for the stack to carry around our visualization tools, I don't think (if they're willing to take 'em, great!).

Either way, it seems like we could take an old stack container, and slap a new jupyter on top at any time right? And mint it as a container that does science like the original, but works with the new system? I agree we don't want to be resurrecting old platforms and their dependencies to run old versions.

We can always run a kernel that includes an ancient stack in a modern environment.
That kernel may not have access to modern conveniences (like Bokeh or Dask) though, if those dependencies don't exist or only exist in a form that's out-of-date with respect to what our UI expects.

FYI we cannot undo the pins unilaterally as they were a request from the Product Owner following issues arising from the lack of them.

Uh...is the Product Owner aware that the upstream build, with the adoption of Rubinenv, has kinda tossed the idea of precise pins?

Some further commentary.  Overlaying arbitrarily old stacks works, kind of, with the current pip-based install that doesn't try to do anything with conda environments.  It will not work once we move to a conda environment because the initial conda solve doesn't work on pre-rubinenv stacks.  That in turn suggests we should tag the last pip-based, two-stack version of the Jupyterlab build so we can get back there.  I'm planning on tidying this up and merging it (based on Jonathan's approval) so that we have this document available for the build discussion.


feat(ingestion/tableau): hidden asset handling

Description
This PR enables the configuration of how to handle hidden assets in Tableau. Views and Dashboards can be hidden within Workbooks. Hidden assets can be identified by a missing/blank luid, as stated in the documentation: https://help.tableau.com/current/api/metadata_api/en-us/reference/view.doc.html

This PR introduces two new config properties tags_for_hidden_assets and ingest_hidden_assets to better control what to do with hidden assets. They can either be skipped completely or tagged.
Configuration in the recipe could look like this:
source:
  type: tableau
  config:
    # Coordinates
    connect_uri: https://tableau.example.com

    # Handling of hidden assets
    tags_for_hidden_assets: ['private', 'hidden']
    # or completely skip hidden assets with
    # ingest_hidden_assets: False

    # Credentials
    username: "${TABLEAU_USER}"
    password: "${TABLEAU_PASSWORD}"

sink:
  type: "datahub-rest"
  config:
    server: "http://localhost:8080"

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Hi @hsheth2, would be great to get your feedback on this. Many thanks.

@mayurinehate and @hsheth2 anything missing here?

Merging the PR now.

Thank you a lot 🙏 @haeniya @mayurinehate

@haeniya I would like to revisit and hear your thoughts on the need for config tags_for_hidden_assets as opposed to tagging hidden resources with a hard-coded "hidden" tag by default. In general - we are trying to minimize custom configs that do not yield much value in order to simplify the source configuration and future changes in code.


Support the MacOS sandbox for larger projects

Motivation
Fixes #482.
MacOS has trouble with derivations which (directly or transitively) have many buildInputs.
Crane at present creates a build structure in which a given cargo command will transitively depend on numCrates nix store paths. This means that Crane fails to build projects with over about 600 crate dependencies on MacOS if the sandbox is enabled.
This MR utilises a tiering approach to improve this.
Each registry is assigned to a shard based on the hash of the crate name. If there are <32 crates in a registry there is one shard, if <2048 there are 16 shards, otherwise 256. Crates are directly extracted into these shard derivations rather than symlinking.
What this means is:

Crane will not create a vendoring derivation with many inputs unless a project has a truly crazy number of dependencies.
No downstream cargo derivation will have many inputs either.

Checklist

[ ] added tests to verify new behavior
[ ] added an example template or updated an existing one
[X] updated docs/API.md (or general documentation) with changes
[x] updated CHANGELOG.md

Hi @j-baker thanks for the PR!
One bit of hesitation I have with the current direction is that it ends up pessimizing dependency handling for the "default" case (of not building inside of a macOS sandbox)... The approach to symlink crate sources in the final vendor directory means that each unique crate-version-source is unpacked only once in the Nix store (regardless of whether Nix store optimization/hard-linking is enabled) so that derivations with completely different sets of dependencies don't end up unpacking sources multiple times (each which uses up some CPU and disk space).
I'm not familiar with how the macOS sandbox operates, but based on your comment https://github.com/ipetkov/crane/issues/482#issuecomment-1858773479 it sounds like each derivation is getting its own sandbox, and the vendor derivation's dependencies along with the real build's deps pushes it over the edge. Another potential (and maybe simpler?) solution is to introduce some kind of vendorInstallMode variable to vendorCargoDeps (similar to installCargoArtifactsMode) which results in a deep copy of the source (instead of a symlink which would remain the default). That way one can opt-into this "more expensive" behavior as necessary.
Thoughts?


Avoid granting pointless permissions for installed packages

It takes WA3 more than a minute to set up the platform before it can run the workload and this is the biggest contributor, so I'm starting from here.  Since 4e3a30b51597ee4aa4a433aac4da1c2ecbac43c3 , we grant all permissions to an installed apk every time we run it:
2018-04-06 14:22:08,218 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.ACCESS_COARSE_LOCATION
2018-04-06 14:22:08,568 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.WAKE_LOCK
2018-04-06 14:22:08,949 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.INTERNET
2018-04-06 14:22:09,351 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.VIBRATE
2018-04-06 14:22:09,770 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.READ_CONTACTS
2018-04-06 14:22:10,143 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.WRITE_CONTACTS
2018-04-06 14:22:10,550 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.GET_ACCOUNTS
2018-04-06 14:22:10,983 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.MANAGE_ACCOUNTS
2018-04-06 14:22:11,406 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.AUTHENTICATE_ACCOUNTS
2018-04-06 14:22:11,791 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.READ_SYNC_SETTINGS
2018-04-06 14:22:12,220 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.WRITE_SYNC_SETTINGS
2018-04-06 14:22:12,614 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.ACCESS_FINE_LOCATION
2018-04-06 14:22:13,026 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.katana.provider.ACCESS
2018-04-06 14:22:13,431 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.orca.provider.ACCESS
2018-04-06 14:22:13,822 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.android.launcher.permission.INSTALL_SHORTCUT
2018-04-06 14:22:14,240 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.DOWNLOAD_WITHOUT_NOTIFICATION
2018-04-06 14:22:14,651 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.google.android.providers.gsf.permission.READ_GSERVICES
2018-04-06 14:22:15,037 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.CAMERA
2018-04-06 14:22:15,457 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.SYSTEM_ALERT_WINDOW
2018-04-06 14:22:15,876 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.android.vending.BILLING
2018-04-06 14:22:16,305 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.sec.android.provider.badge.permission.READ
2018-04-06 14:22:16,711 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.sec.android.provider.badge.permission.WRITE
2018-04-06 14:22:17,143 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.htc.launcher.permission.UPDATE_SHORTCUT
2018-04-06 14:22:17,539 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.sonyericsson.home.permission.BROADCAST_BADGE
2018-04-06 14:22:17,955 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.RECORD_AUDIO
2018-04-06 14:22:18,373 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.katana.permission.MAPS_RECEIVE
2018-04-06 14:22:18,794 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.WRITE_EXTERNAL_STORAGE
2018-04-06 14:22:19,220 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.katana.permission.C2D_MESSAGE
2018-04-06 14:22:19,625 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.google.android.c2dm.permission.RECEIVE
2018-04-06 14:22:20,023 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.receiver.permission.ACCESS
2018-04-06 14:22:20,439 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.permission.prod.FB_APP_COMMUNICATION
2018-04-06 14:22:20,839 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.permission.debug.SYSTEM_COMMUNICATION
2018-04-06 14:22:21,254 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.ACCESS_NETWORK_STATE
2018-04-06 14:22:21,641 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.ACCESS_WIFI_STATE
2018-04-06 14:22:22,062 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.READ_PHONE_STATE
2018-04-06 14:22:22,464 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.RECEIVE_BOOT_COMPLETED
2018-04-06 14:22:22,860 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.GET_TASKS
2018-04-06 14:22:23,272 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.REORDER_TASKS
2018-04-06 14:22:23,653 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.CALL_PHONE
2018-04-06 14:22:24,078 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.android.launcher.permission.READ_SETTINGS
2018-04-06 14:22:24,498 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.sec.android.app.launcher.READ_SETTINGS
2018-04-06 14:22:24,904 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.sec.android.app.twlauncher.READ_SETTINGS
2018-04-06 14:22:25,328 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.htc.launcher.permission.READ_SETTINGS
2018-04-06 14:22:25,698 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana com.facebook.katana.permission.CROSS_PROCESS_BROADCAST_MANAGER
2018-04-06 14:22:26,110 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.BATTERY_STATS
2018-04-06 14:22:26,522 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.READ_EXTERNAL_STORAGE
2018-04-06 14:22:26,916 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.READ_CALL_LOG
2018-04-06 14:22:27,326 DEBUG       android:     adb -s<PHONE_NUMBER>ABCDEF shell pm grant com.facebook.katana android.permission.WRITE_CALL_LOG

As you can see from the log, it takes 20 seconds (it is faster to reinstall the application!).  Out of these 48 permissions, only 15 are changeable (24 are not changeable and 9 are not even known by the system) and the workload that I'm running doesn't even need any of the 15 that are granted.
WA2 didn't have this.  Why force this for every permission and for every workload?  Why not let workloads that need permissions explicitly set them in their __init__.py and enable only those for that particular workload?

This is done because different Android versions require different permissions for different applications; this would be required in WA2 as well,  if we were supporting the later Android versions in WA2. This is done to guarantee that a workload works on everything without worrying about the details.
One quick way to speed this up would be to add an API to devlib to grant multiple permissions using a single adb shell call. Optimising beyond that, we'd need to ensure that we don't have a negative impact on robustness.

Why force this for every permission and for every workload? Why not let workloads that need permissions explicitly set them in their init.py and enable only those for that particular workload?

Because there is no way (or at  least, I don't know of a way) to reliably determine that. The permissions advertised by an APK are not necessarily  the only ones that are needed.

Why not let workloads that need permissions explicitly set them in their init.py and enable only those for that particular workload?

Because there is no way (or at least, I don't know of a way) to reliably determine that.

When somebody adds a workload to wa/workloads you run it twice.  If it doesn't fail, you don't need any permissions.  If it fails you add the permissions that it needs.  The current approach is trying to fix issues that don't exist, grant permissions that can't be granted or don't exist or are not needed.  If it ain't broke, don't fix it.

When somebody adds a workload to wa/workloads you run it twice. If it doesn't fail, you don't need any permissions. If it fails you add the permissions that it needs.

As stated above, it may need different permissions depending on the Android version, and possibly on the device. So unless each workload contributor performs exhaustive testing, there is no way to guarantee that, just because it works on the devices you have, it will work for everyone.


Configuring wait_for_pending_requests()'s duration

Hi,
Is there any way I can configure the duration of wait_for_pending_requests() ?
This is really useful when using REPL (e.g. binding.pry) for debugging, because often we need to pause the execution more than 60 seconds to inspect variables etc.
Thanks

Not currently, it's hard coded at 60 seconds, https://github.com/jnicklas/capybara/blob/master/lib/capybara/server.rb#L91
PRs welcome


CosmosDB: intra container copy - add missing second underscore to database name

added missing additional underscore to database name to make the proposed workaround functional.

Learn Build status updates of commit 6e4653f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/cosmos-db/intra-account-container-copy.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Question: how to use @Join for multi level?

Let’s say I have Country / State / City entities, how do I use @Join to fetch the second level?
I tried something like:
@Join(“state.city”)
Optional<Country> findByName(String name)

and it didn’t work. Is it possible?
Thanks in advance.

Yeah that is in the todo list will get it working shortly. Thanks for the feedback

This does actually already work for single-ended associations
https://github.com/micronaut-projects/micronaut-predator/blob/master/predator-tck/src/main/groovy/io/micronaut/data/tck/tests/AbstractRepositorySpec.groovy#L344
The support for joining on multi-ended associations is more limited currently and is only supported for queries that return a single result. We will likely improve that over time.
The example you had that didn't work, I assume it was for multi-ended associations?

Right, it was a multi-ended. Thanks @graemerocher

Joins for multi ended associations that return a single result does work too. We need to consider how far we go with this and whether we support allowing different fetch models such as performing an extra select in the case of returning multiple results and so on.

Hi,
does it make sense to have additional parentAlias property in @Join annotation so the builder could build the whole "tree" of joins based on the provided aliases?
E.g.
@Join(value = “state”, alias="s")
@Join(parentAlias="s", value = “city”, alias="c")
Optional<Country> findByName(String name)

Dot notation is more limited comparing to the several @Join properties imho.

How would this be different to?:
@Join("state")
@Join("state.city")

Aliases could be convenient to reuse the same join:
@Join("state s")
@Join("s.city")
@Join("s.country")

And less string parsing. But agreed in general it's the same.

currently the same join is reused anyway. Closing this as I think it is complete


Third-level GAMSO activities?

The notes of the second-level GAMSO activities are very well structured, so it would be possible to replace (or double) them with lists of individual concepts for third-level activities. For example, activity 2.1.1 ('Identify disruptions and capability improvements') would be created with a skso:broader link to the activity 2.1.

The third level is not supposed to be complete. This might be a) misleading and/or b) a maintenance challenge,

4th July meeting decided to close.


MoltenVk still using intel card and not discrete GPU despite selecting discrete

Noticed this last night and forgot to post.
No matter what I try, I simply cannot get my application to use the discrete (nvidia) GPU on my 2012 retina mac book pro.  OpenGL would always just automatically switch.  But with metal, it won't do it.
I'm creating the device with a physical device named "NVIDIA GeForce GT 650M", but can verify via gfxCardStatus (and the bad performance) that i'm on intel.  It only works if I force discrete via the same gfxCardStatus utility.
I'm on macOS 10.13.6
To reproduce, build and run my repo's example project on a macbook with integrated+discrete GPU
Note via gfxCardStatus that it doesn't switch to 'd'.
https://github.com/mlfarrell/VGL-Vulkan-Core
This one is critical for my application since on intel, its killing my performance (30 FPS).

So this API call (MTLCreateSystemDefaultDevice) on the vulkan examples cause the switch to occur properly.  I notice molten vk does not call this on mac os.  Is there an easy way we can detect if the GPU is indeed the "system default" and route the call through MTLCreateSystemDefaultDevice to ensure the graphics switch occurs properly?  See documentation from apple below
/*!
 @brief Returns a reference to the preferred system default Metal device.
 @discussion On Mac OS X systems that support automatic graphics switching, calling
 this API to get a Metal device will cause the system to switch to the high power
 GPU.  On other systems that support more than one GPU it will return the GPU that
 is associated with the main display.
 */
MTL_EXTERN id <MTLDevice> __nullable MTLCreateSystemDefaultDevice(void) API_AVAILABLE(macos(10.11), ios(8.0)) NS_RETURNS_RETAINED;

@mlfarrell
Have you tried inspecting the GPU activity with Apple's tools?
With MoltenVK (without your patch)...if I run an app that requests the high-power GPU (like the MoltenVK Hologram demo app) on my MacBook Pro...Apple's GPU tool shows the discrete GPU (AMD Radeon) spool up and run hard while the demo is running...and then spool down once the Hologram app is closed.
At the same time...the integrated Intel GPU still shows some activity (I assume from other windows).
All the while...gfxCardStatus shows i in the menu bar.
Are you using some special kind of GPU configuration (external, etc)?

No special configuration.
Let me be clear.  The nvidia GPU is indeed being used when I select it, however the critical "graphics switching" step on macbook pros like mine, is not triggered when you use a device returned from MTLCopyAllDevices, meaning the nvidia GPU is being somehow utilized to render offscreen, then the results are being transferred to the intel integrated GPU that is powering the display.
Let me paste the apple documentation below and you can see the critical verbiage regarding graphics switching.
/*!
 @brief Returns all Metal devices in the system.
 @discussion This API will not cause the system to switch devices and leaves the
 decision about which GPU to use up to the application based on whatever criteria
 it deems appropriate.
*/
MTL_EXTERN NSArray <id<MTLDevice>> *MTLCopyAllDevices(void) API_AVAILABLE(macos(10.11)) API_UNAVAILABLE(ios) NS_RETURNS_RETAINED;

Afaik, it is impossible to trigger the graphics switching step on a metal application without calling MTLCreateSystemDefaultDevice
When I run moltenvk without my fix, the macOS activity monitor on my mac shows "requires high performance graphics" field as "no".  The 3rd party graphics switching utility called gfxCardStatus shows that my integrated card remains in use without switching.
With my above PR, the app startup delays a bit (as normal during a switch), gfxcardstatus utilty shows proper swicth to discrete, and the activity monitor field shows "yes" for the "requires high performance graphics" field for this application.  More importantly, the performance of my application is drastically improved.

The above issue will affect everyone running molten VK applications on macs with dual GPUs.

Okay. I think I understand the point you're raising now.
The graphics switching ensures that the system itself is converted to the GPU that is selected by MoltenVK. And as a result, the final system BLIT from the GPU used by the app to the GPU used by the system is not required.
Is that correct?
I'm curious...are there any other benefits/costs to enforcing graphics switching? Agreed that graphics performance is critical...and that's what we want...and why Vulkan was invented. But since your proposed solution forces the entire system to flip to the discrete GPU...I want to make sure there are no downsides that might cause us to perhaps make this step configurable in the MoltenVK configuration API.
In essence...there would seem to be three levels of GPU-based performance (lowest to highest)...

Use integrated GPU for Vulkan rendering.
Use discrete GPU for Vulkan rendering...but allow system to merge results onto integrated GPU for final display.
Force discrete GPU for the entire system.

...and are there reasons why we might want to retain the middle option somehow?

The graphics switching ensures that the system itself is converted to the GPU that is selected by MoltenVK. And as a result, the final system BLIT from the GPU used by the app to the GPU used by the system is not required.

That's correct (or at least my understanding of how it works from an outside perspective)
The costs would be the slight delay on startup.  In my experience, alongside the performance benefits, 99% of metal apps and 99% OpenGL app that isn't moltenvk will behave this way, so it's good to follow the herd in this case.
2 is likely very useful for GPGPU computing and for other non-present non-graphics applications.
I do admit my solution my PR above isn't the most elegant (feel free to use it or some variant).  My aim was to prevent the gfx switch from occurring for users who don't request that device.

Okay. Makes sense.
Thanks for all the low-level detective work on this...and for the subsequent PR.
I just posted a review question on the PR. Once you've answered that...I'll pull the PR in.

I will take care of that part as part of an update to the config features.

No problem, glad to help!


openbugs: init at 3.2.3

Description of changes
Uploaded a new package calles OpenBUGS and added myself as a maintainer.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

While looking at something else, I discovered stdenv_32bit:
  # A stdenv capable of building 32-bit binaries.
  # On x86_64-linux, it uses GCC compiled with multilib support; on i686-linux,
  # it's just the plain stdenv.
  stdenv_32bit = lowPrio (if stdenv.hostPlatform.is32bit then stdenv else multiStdenv);

which probably does what we want here, though I'm not sure if it's preferred.

Yes, I understood you but I think this way it is cleaner and better as you can see de dependences explicitly.
I can modify to stdenv_32bit but I prefer this way.
Is there any other advantage using stdenv_32bit?
No problem, thank you for your work.

@OfBorg build openbugs

Thanks for the contribution!

Don't worry about the 22.11 backport.  It only has a month or so of support left anyway.

Awesome! Thank you very much.


Virtual List is getting Cleared after first time page loading

Hi,
I am using Virtual List for the news feed in material theme. It is working fine if domCache is disabled. But I need to enable domCache. The issue is after enabling, domCache:true the Virtual List is not working fine. It is rendering the list when the page is opened for first time. But when I am navigating again to the list page the Virutal List is not rendering any list items. Below is my code
var newsList = Djjs.fw7.app.virtualList('.snews-list.virtual-list', {
    // Array with plain HTML items
    items: [],
    renderItem: function (index, item) {
return '

'+item.title+'

'+item.date+'

';
    },
    height:90,
});

then from the js file I am calling
newsList.appendItems(news);

Are you creating the list within page:init?

Closing due to inactivity and/or no responses from issue author


Move the tokens API GW into the tokens repo

The tokens service makes use of an API Gateway that is currently defined as a branch of the aws-apig-cognito repo. The API GW needs the tokens Lambda ARN, it would simplify things to have all the gateway infrastructure and config in this tokens repo as well.
Once this is done all the tokens infrastructure would be configured and deployed from the same place

Discuss and plan with @yasima-csiro before proceeding

Hi Joe, I am ok with this change.


您好，必须是torch为1.0.1么？我安装，它提示没这个版本

Thanks for your interest. You can use the latest version of PyTorch. No plans to update this repo in the near future.


[Bug]: Can't compile go programs in debug mode

Current Behavior (bug)
Ironically I'm trying to hack on devbox inside of devbox and I hit this issue.
$ ~/go/bin/dlv debug ./cmd/devbox/
# runtime/cgo
In file included from /nix/store/bhhb91angi23wsr42apz1in1n9b9ilg3-glibc-2.37-8-dev/include/bits/libc-header-start.h:33,
                 from /nix/store/bhhb91angi23wsr42apz1in1n9b9ilg3-glibc-2.37-8-dev/include/stdlib.h:26,
                 from _cgo_export.c:3:
/nix/store/bhhb91angi23wsr42apz1in1n9b9ilg3-glibc-2.37-8-dev/include/features.h:413:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
  413 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
cc1: all warnings being treated as errors
exit status 1

I know this is really a nix issue and not devbox directly, but being that this configuration of running go sdk inside devbox is a primary use case I would assume this would work.
Additional context
Please include the output of devbox version -v and
$ devbox version -v
Version:     0.5.5
Platform:    linux_amd64
Commit:      891e8de7a8ab7a3fec42fad069326d68cb84603e
Commit Time: 2023-06-19T19:18:00Z
Go Version:  go1.20.5
Launcher:    0.2.0

$ cat /home/darren/.local/share/devbox/global/default/devbox.json
{
  "packages": [
    "vim-full@latest",
    "cmake@latest",
<EMAIL_ADDRESS>    "gcc@latest",
    "libxcrypt@latest",
<EMAIL_ADDRESS>    "gh@latest",
    "k3d@latest",
    "xdg-utils@latest",
    "xfce.xfce4-terminal@latest",
    "ubuntu_font_family@latest",
    "hicolor-icon-theme@latest",
    "fontconfig@latest",
    "xorg.xorgserver@latest",
    "xterm@latest",
    "jetbrains.goland@latest",
    "fuse3@latest",
    "fuse@latest",
    "strace@latest",
    "git@latest",
    "procps@latest"
  ],
  "shell": {
    "init_hook": [
      "echo 'Welcome to devbox!' > /dev/null"
    ],
    "scripts": {
      "test": [
        "echo \"Error: no test specified\" && exit 1"
      ]
    }
  }
}

$ cat /home/darren/.local/share/devbox/global/default/devbox.lock
{
  "lockfile_version": "1",
  "packages": {
    "cmake@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#cmake",
      "version": "3.25.3"
    },
    "fontconfig@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#fontconfig",
      "version": "2.14.0"
    },
    "fuse3@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#fuse3",
      "version": "3.11.0"
    },
    "fuse@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#fuse",
      "version": "2.9.9"
    },
    "gcc@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#gcc",
      "version": "12.2.0"
    },
    "gh@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#gh",
      "version": "2.28.0"
    },
    "git@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#git",
      "version": "2.40.1"
    },
<EMAIL_ADDRESS>{
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#go",
      "version": "1.20.3"
    },
    "hicolor-icon-theme@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#hicolor-icon-theme",
      "version": "0.17"
    },
    "jetbrains.goland@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#jetbrains.goland",
      "version": "2023.1"
    },
    "k3d@latest": {
      "last_modified": "2022-01-01T22:37:24Z",
      "resolved": "github:NixOS/nixpkgs/0fd74961da9fe2640ad2fbd960c3af08246e6749#k3d",
      "version": "<IP_ADDRESS>"
    },
    "libxcrypt@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#libxcrypt",
      "version": "4.4.33"
    },
    "procps@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#procps",
      "version": "3.3.17"
    },
<EMAIL_ADDRESS>{
      "last_modified": "2023-05-01T16:53:22Z",
      "plugin_version": "0.0.1",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#python38",
      "version": "3.8.16"
    },
    "strace@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#strace",
      "version": "6.2"
    },
    "ubuntu_font_family@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#ubuntu_font_family",
      "version": "0.83"
    },
    "vim-full@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#vim-full",
      "version": "9.0.1441"
    },
    "xdg-utils@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#xdg-utils",
      "version": "2020-10-21"
    },
    "xfce.xfce4-terminal@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#xfce.xfce4-terminal",
      "version": "1.0.4"
    },
    "xorg.xorgserver@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#xorg.xorgserver",
      "version": "21.1.8"
    },
    "xterm@latest": {
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#xterm",
      "version": "379"
    }
  }
}

This seems to be the fix but I have no clue what this means as I don't know the nix-fu.  From https://nixos.wiki/wiki/Go
If you encounter this issue and receive an error about _FORTIFY_SOURCE when running delve (for example in VSCode), put hardeningDisable = [ "fortify" ]; inside shell.nix or in the mkShell invocation argument like this:
pkgs.mkShell {
  hardeningDisable = [ "fortify" ];
  buildInputs = [ pkgs.go_1_18 ];
};

This is a real blocker to using devbox for (at least) go development. @ibuildthecloud Did you figure out how to enable this? @savil Any help here? :pray:

@ibuildthecloud @jimmidyson, I found a way to disable the Nix hardening in your Devbox shell. You need to set the NIX_HARDENING_ENABLE variable to an empty string in the env section of your devbox.json:
{
  "packages": [
<EMAIL_ADDRESS><EMAIL_ADDRESS>    "delve@latest"
  ],
  "env": {
    "NIX_HARDENING_ENABLE": ""
  },
  "shell": {
    "init_hook": [
      "export \"GOROOT=$(go env GOROOT)\""
    ],
    "scripts": {...}
  }
}

I verified that this let me run dlv debug ./cmd/devbox/ on WSL2, using Debian. Please try it out and let me know if this helps.
Note that this will disable all of the hardening features for the Nix stdenv. If you want to selectively enable some of them, you can add them to the environment variable like:
  "env": {
    "NIX_HARDENING_ENABLE": "stackprotector format"
  },

Adding this to the devbox.json is not ideal for production binaries. We're working on a way to set env variables locally on a temporary basis (via a --env flag or .env file), which can be used for this in the future.

@Lagoja Genius! This works perfectly, thank you! As you said, I wouldn't want this for production builds so will have to figure out a nice way to work with --env and vs code plugin, perhaps that would be a good change there  to add configuration of env vars just for vs code?

@mohsenari could the devbox-vscode plugin have a setting to (optionally) set environment variables? In this case, one may want to set NIX_HARDENING_ENABLE="" to enable the debugger.

Yeah it's possible but it requires a vscode window reload (just like open in devbox shell environment command). Now that we have --env PRs out, I can either add a command to reload the environment with taking a .env file or prompt for specific env key-value and reload vscode with that env passed to CLI to include in the new environment before reopening vscode.
Let's discuss the approach internally. I'll update what we end up doing in this thread.

The --env feature is now available in 0.5.11.
@mohsenari I think having a way to take a .env file (maybe parsing it out of the .envrc?) would be a pretty nice UX. It might be a good start to focus on loading it from a file first, and then figure out the UX for adding env variables directly on a follow up release

You can now use the --env or --env-file paths when generating your .envrc with devbox generate direnv.
The recommendation would be to add a .env file with the variables you want to customize locally, and then run devbox generate direnv --env-file .env so that direnv picks up those changes automatically when cd'ing into the directory
Please let me know if this does not resolve the issue, or if there's a different direnv workflow that we need to support.


Hey

Hey!
Im trying to get OpticalFlow readings (before they are passing to the EKF):
Here what in initializing in my .launch file:
 <rosparam>         genericLogTopics: ["log_pos" , "log_rpy" , "log_ranges" ]                 genericLogTopicFrequencies: [20 , 20 , 20 ]                 genericLogTopic_log_pos_Variables: ["stateEstimate.x", "stateEstimate.y", "stateEstimate.z"]                 genericLogTopic_log_rpy_Variables: ["stabilizer.roll" , "stabilizer.pitch" , "stabilizer.yaw"]                 genericLogTopic_log_ranges_Variables: ["range.front", "range.back", "range.up", "range.left",                 "range.right" , "range.zrange" ]             </rosparam>]
i need the X and Y reading of the optical_flow (before kelman estimator), how can i reach them?
thank you!
Gal.

There is no real documentation right now, apart from the firmware source code. Perhaps you are interested in those variables: https://github.com/bitcraze/crazyflie-firmware/blob/master/src/deck/drivers/src/flowdeck_v1v2.c#L226-L227?

what you want is -
genericLogTopic_log_Variables: ["motion.deltaX" , "motion.deltaY" ]

Thanks!
(haven't tryed yet, but still)
Is there more attributes to "motion" that i can log?
Gal


⚠ Jerry Savelle Ministries International Australia has degraded performance

In c6d0daf, Jerry Savelle Ministries International Australia (https://jsmiaustralia.org) experienced degraded performance:

HTTP code: 200
Response time: 7868 ms

Resolved: Jerry Savelle Ministries International Australia performance has improved in 76754c4 after 6 minutes.


[Rate-Limit] Max requests per interval no longer tracked

From @Kaptard on April 15, 2017 20:41
Min-diff between requests still working.
Bug occurred after refactoring auth.js into auth & limit.
Copied from original issue: nexus-devs/warframe-nexus#4

This issue was moved to nexus-devs/blitz.js-api#6


lint Kubernetes manifests generated from helm charts

Implement a workflow to "lint" Kubernetes manifests. Possible open source tools include kubelinter and kubescape.

See iter8-tools/hub#60

Should include all hub charts including the controller chart (WIP, issue https://github.com/iter8-tools/iter8/issues/1419)

completed with PR https://github.com/iter8-tools/hub/pull/60


Limit permissions on workflows

Limits the permissions on GITHUB_TOKEN in the workflows
https://github.com/simplybusiness/silversmiths/issues/13

/dobbt version patch

/dobby version patch


Support for interface defined beans

Hi,
I like your project, but I'm having some issues with it.
E.g. I have an interface called Service and its implementation ServiceImpl. If I want to inject Mock or Spy into this bean but it doesn't work.
Could you make it work with interface defined beans. I think the problem is that BeanUtils.findField doesn't search for the field in actual bean instance but on interface.
java.lang.IllegalArgumentException: Cannot find bean to mock interface com.Processor in interface com.Service
	at org.springframework.util.Assert.notNull(Assert.java:219)
	at com.teketik.test.mockinbean.MockInBeanTestContextManager$Context$Builder.processDefinitions(MockInBeanTestContextManager.java:125)
	at com.teketik.test.mockinbean.MockInBeanTestContextManager$Context$Builder.<init>(MockInBeanTestContextManager.java:109)
	at com.teketik.test.mockinbean.MockInBeanTestContextManager$Context$Builder.<init>(MockInBeanTestContextManager.java:90)

class Test {

    @Autowired
    private Service service;

    @SpyInBean(Service.class)
    private Processor processor;

...

Thanks.
I have added support for this usecase in boot2-v1.4.
Let me know if you face any issue


Could use flexibility in how ChangeLogs are located

Hello, @lstolowski,
I've found mongobee very handy but the way it locates ChangeLogs by a package name wasn't flexible enough for me. I pulled all the ChangeLog scripts into Spring as beans so that I could proxy them with some common code. That meant that I couldn't allow Mongobee to just instantiate ChangeLogs from their classes. So I subclassed Mongobee and overrode a lot of it so that it would get the ChangeLog beans from the ApplicationContext.
It occurred to me that my changes were pretty generic and could be useful to others. I might add a method like setChangeLogsSupplier that takes some kind of supplier of ChangeLog objects. If this seems sensible I'll open a PR.

Please do a PR with your proposal.
Please remember to write tests, and ensure your solution is backward compatible (default behaviour of ChangeLog classes should be as it was in the past). Good luck :)


Interactive pane input is broken

Issue Type: Bug
Interactive pane input is broken.  Most of the time I cannot input anything into the console input at the bottom of the Interactive Pane.  If I "Remove all cells", sometimes it will fix itself and sometimes it won't.  Running code in the Interactive Pane by selecting the code and pressing shift+enter still works, and if I do that, sometimes the console input will start working again and sometimes it won't.
Most of the time it does not work.
Extension version: 2020.11.372831992
VS Code version: Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-10T23:34:32.027Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4 x 2496)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.88GB (4.99GB free)

Process Argv
--crash-reporter-id f652528b-5678-4b12-9ca0-3de6b1e1135f

Screen Reader
yes

VM
0%

@clayms Thanks for filing this issue. We've had some issues recently with the input box that we are working to resolve. We did just have a point release on the 30th that looks like you (by your version number) don't have yet. Can you try out the most recent version of the extension? We did have one input box fix in that release. @rchiodo  is looking into another now as well.

Hey @clayms, I'm going to close this out. If it still repro's after installing the latest extension, please reopen.


Documentation: Difference to standard MediaRecorder?

By just looking at the documentation I can't find out, why I should use RecordRTC instead of the default MediaRecorder included in the Browsers? Is it just a wrapper for MediaRecorder? (it doesn't seem so, since it also supports safari for recording video). So what does it do different?
I couldn't find that information somewhere (I've got some guesses, but am not really sure).
Would be great if that could be mentioned in the documentation.

Yes, I would like to know this too. I prefer to use native/vanilla stuff where possible.

Yes, I would like to know this too. I prefer to use native/vanilla stuff where possible.

I think MediaRecorder does not support Safari/iOS but RecordRTC does.

I think MediaRecorder does not support Safari/iOS but RecordRTC does.


Write a TypeScript program to print string of ascii values

Description
Write a TypeScript program to print string of ascii values
ASCII value is the numeric representation of a character. For example, the ASCII value of the character 'A' is 65. The ASCII value of the character 'a' is 97. The ASCII value of the character '0' is 48. The ASCII value of the character ' ' is 32.
Input  : 65 66 67
Output : ABC

How to contribute

Save the solution in PrintStringOfAsciiValues.ts file
Add PrintStringOfAsciiValues.ts file in print-string-of-ascii-values folder

!assign

!assign


Does this work to canary windows 11

Description
just a little curious
Reason
just a little curious
Examples
No response

Yes it is working, you could test in a Virtual Machine before sending this issue and take your conclusions. And by canary you mean mainstream version of Windows 11, right? Which is offered commonly.


xunit 2.6.x

Work started... issues encountered:

[ ] new internal / conditionally public APIs clash with xunit NuGet package

I'll have a look end of November

solved by editing Guards.cs


Accessing SIP.SSIP, SIP.STIP, and SIP.SEIP bits from HS-mode and VS-mode

We need some clarity on accessing S-mode interrupt bits in SIP CSR from HS-mode and VS-modes.
As-per my understanding, all S-mode interrupt bits in SIP CSR read-only for both VS-mode and HS-mode. This rationale is based on MIP CSR documentation in RISC-V spec which says:
"The mip register is an MXLEN-bit read/write register containing information on pending interrupts, while mie is the corresponding MXLEN-bit read/write register containing interrupt enable bits. Only the bits corresponding to lower-privilege software interrupts (USIP, SSIP), timer interrupts (UTIP, STIP), and external interrupts (UEIP, SEIP) in mip are writable through this CSR address; the remaining bits are read-only."
(Note: SIP CSR documentation in RISC-V spec does not clearly tell which bits are accessible in S-mode)
The HS-mode can certainly write to S-mode interrupt bits in VSIP CSR which will be readable from VS-mode as SIP CSR.
Can VS-mode update S-mode interrupt bits in SIP CSR (i.e. VSIP CSR) ???
Regards,
Anup

(Note: SIP CSR documentation in RISC-V spec does not clearly tell which bits are accessible in S-mode)

The spec says that "All bits besides SSIP in the sip register are read-only", and "A supervisor-level software interrupt is triggered on the current hart by writing 1 to its supervisor software interrupt-pending (SSIP) bit in the sip register."
Certainly it does not qualify who can write 1 to SSIP, but I don't think you can compare SSIP to MSIP since MSIP is read-only while SSIP is not. Therefore I'm not sure why sip.SSIP should be writable only by M-mode (or vsip.SSIP should be writable only from HS-mode0.

cc @jhauser-us

The SIP.SSIP bit is indeed writable from both HS-mode and VS-mode.
Closing this issue now.
Regards,
Anup


'Logger' object has no attribute 'verbose'

hi
i just installed flexget on my ubuntu lxc and configured it.
while testing it with my first server i get the following error:

2020-04-10 09:30:09
CRITICAL
manager
btf
task An unexpected crash has occurred. Writing crash report to /root/flexget/crash_report.2<IP_ADDRESS>009563415.log. Please verify you are running the latest version of flexget by using "flexget -V" from CLI or by using version_checker plugin at http://flexget.com/wiki/Plugins/version_checker. You are currently using version 3.1.49
2020-04-10 09:30:09
CRITICAL
task
btf
task BUG: Unhandled error in plugin cross-seed: 'Logger' object has no attribute 'verbose'

Errorlog
https://pastebin.com/TRWgGLZs
config
https://pastebin.com/EfqemhVL
what did i do wrong?

Seems like Flexget changed logging. I've updated the plugin to try and be compatible with both old and new flexget.


Fix typos in comments of inlayHintsController.ts

Fix 1 typo + wording duplicate in comments of inlayHintsController.ts

Sorry, but are not accept such kind of PRs


Minor fix: Reorder item type drop-down on search page

Prof. Gordon would like the item types in English and Japanese to be re-ordered as follows:
all formats
exclude tweets
image
video
audio
tweet
website
document
testimonial
broadcast
news article
news headline
collection
The order up to "tweet" is the same but after that it's a different order that Prof. Gordon feels better reflects the importance of certain item types in our archive.
This is a very quick fix that anyone can do.

@meeshmon
I will look into it.

@meeshmon
Made the changes. Will ask Alex to update production site. As soon as Alex updates it check it out and make sure it works fine. I will close this item for now.


Remove content on form

https://creativecommons.org/donate  on the donate form here, can you remove the part that says "Contributions at $10,000 and above will be recognized on our public list of supporters with the individual or company name and a website link"
Thank you!

Is it the whole part or just the "and a website link"?

Just the "and a website link".
You were right!


Document where you are installing Neovim from

There are "app image" packages released directly from the Neovim project on Github. It's helpful to clarify that the OS package manager is being used, since the Neovim packages there may be older than releases posted on Github.

Thanks for the clarification! :-)


Passing BackgroundPosition as prop it doesn't take exactly the right position

Version
2.3.0
Steps to reproduce
if I pass this as prop
dataBox : {
    bgPosition: {
       backgroundPosition: ('0px', '0px')
    }
}

and I use it in my component
<div :style="data.bgPosition" class="box"></div>

box {
    width: 100px;
        height: 100px;
        position: absolute;
        background-image: url('IMAGE');
        background-repeat: no-repeat;
}

the background position is going to set as -> 0px center
What is expected?
background-position: 0px 0px
What is actually happening?
background-position: 0px center

Hi!
Please make sure to follow the Issue Reporting Guidelines before opening an issue.
Thanks!


[WIP] adds skeleton for process Child and Command

part of https://github.com/async-rs/async-std/issues/22


addquotes and \kl{}

If "blabla'' is a knowledge and my tex document contains "\kl{blabla}", then knowledge addquotes will propose to add quotes before and after "blabla".

Fixed in v0.4.0


Hardbreak Node

Added method to append an InlineHardbreak Node to InlineNodeBuilder.

@DamienHarper can we get this approved?
Without it I am unable to add a hardBreak node within a paragraph node.


🚀 Prep gitbook changes for main merge

Coverage remained the same at 90.19% when pulling b684d5a5267b12c8ac795cb2684ce50db8fb968f on prep-gitbook-for-main into 2eca07c7317cd4b0f8db090aca813c92c6e14bac on modular-refactor.