docker-compose failure

Any docker-compose fails with an exception.
Reproduction steps
node v10.21.0
npm 6.14.4
Docker version 19.03.8
docker-compose version 1.25.5
(Docker Restart and pruning of containers/images before the build)

git clone git@github.com:Netflix/conductor.git

cd conductor/docker

docker-compose up

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'conductor'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve com.mycila.maven-license-plugin:maven-license-plugin:1.10.b1.
    Required by:
        project : > nebula.netflixoss:nebula.netflixoss.gradle.plugin:5.1.1 > com.netflix.nebula:gradle-netflixoss-project-plugin:5.1.1 > gradle.plugin.nl.javadude.gradle.plugins:license-gradle-plugin:0.13.1
    > Could not resolve com.mycila.maven-license-plugin:maven-license-plugin:1.10.b1.
        > Could not parse POM https://jcenter.bintray.com/com/mycila/maven-license-plugin/maven-license-plugin/1.10.b1/maven-license-plugin-1.10.b1.pom
            > Could not resolve com.mycila:parent-pom:5.
            > Could not resolve com.mycila:parent-pom:5.
                > Could not get resource 'https://jcenter.bintray.com/com/mycila/parent-pom/5/parent-pom-5.pom'.
                    > Could not GET 'https://jcenter.bintray.com/com/mycila/parent-pom/5/parent-pom-5.pom'. Received status code 504 from server: Gateway Time-out

docker-compose up  (after successful ./gradlew build)

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':conductor-grpc-server'.
> Could not resolve all artifacts for configuration ':conductor-grpc-server:classpath'.
   > Could not resolve org.ow2.asm:asm-tree:5.0.3.
     Required by:
         project :conductor-grpc-server > com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:1.2.3 > com.github.jengelman.gradle.plugins:shadow:1.2.3 > org.ow2.asm:asm-commons:5.0.3
      > Could not resolve org.ow2.asm:asm-tree:5.0.3.
         > Could not get resource 'https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.pom'.
            > Could not GET 'https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.pom'. Received status code 504 from server: Gateway Time-out
   > Could not resolve org.apache.ant:ant-launcher:1.9.4.
     Required by:
         project :conductor-grpc-server > com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:1.2.3 > com.github.jengelman.gradle.plugins:shadow:1.2.3 > org.apache.ant:ant:1.9.4
      > Skipped due to earlier error

docker-compose up —build

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'conductor'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve org.apache.httpcomponents:httpmime:4.3.
    Required by:
        project : > com.github.kt3k.coveralls:com.github.kt3k.coveralls.gradle.plugin:2.8.2 > org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.2
    > Could not resolve org.apache.httpcomponents:httpmime:4.3.
        > Could not parse POM https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.3/httpmime-4.3.pom
            > Could not resolve org.apache.httpcomponents:httpcomponents-client:4.3.
            > Could not resolve org.apache.httpcomponents:httpcomponents-client:4.3.
                > Could not parse POM https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-client/4.3/httpcomponents-client-4.3.pom
                    > Could not resolve org.apache.httpcomponents:project:7.
                        > Could not resolve org.apache.httpcomponents:project:7.
                        > Could not parse POM https://jcenter.bintray.com/org/apache/httpcomponents/project/7/project-7.pom
                            > Could not resolve org.apache:apache:13.
                                > Could not resolve org.apache:apache:13.
                                    > Could not get resource 'https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom'.
                                    > Could not GET 'https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom'. Received status code 504 from server: Gateway Time-out
> Could not resolve org.ajoberstar:grgit:1.9.3.
    Required by:
        project : > nebula.netflixoss:nebula.netflixoss.gradle.plugin:5.1.1 > com.netflix.nebula:gradle-netflixoss-project-plugin:5.1.1 > com.netflix.nebula:nebula-release-plugin:6.3.5 > org.ajoberstar:gradle-git:1.7.2
    > Skipped due to earlier error
    > Could not resolve org.ajoberstar:grgit:1.9.3.
        > Could not get resource 'https://plugins.gradle.org/m2/org/ajoberstar/grgit/1.9.3/grgit-1.9.3.pom'.
            > Could not GET 'https://plugins.gradle.org/m2/org/ajoberstar/grgit/1.9.3/grgit-1.9.3.pom'. Received status code 504 from server: Gateway Time-out
> Could not resolve com.github.zafarkhaja:java-semver:0.9.0.
    Required by:
        project : > nebula.netflixoss:nebula.netflixoss.gradle.plugin:5.1.1 > com.netflix.nebula:gradle-netflixoss-project-plugin:5.1.1 > com.netflix.nebula:nebula-release-plugin:6.3.5 > org.ajoberstar:gradle-git:1.7.2
    > Skipped due to earlier error
    > Could not resolve com.github.zafarkhaja:java-semver:0.9.0.
        > Could not parse POM https://plugins.gradle.org/m2/com/github/zafarkhaja/java-semver/0.9.0/java-semver-0.9.0.pom
            > Could not resolve org.sonatype.oss:oss-parent:9.
            > Skipped due to earlier error
            > Could not resolve org.sonatype.oss:oss-parent:9.
                > Could not get resource 'https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom'.
                    > Could not GET 'https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom'. Received status code 504 from server: Gateway Time-out

@IanSietro I see this in logs:

Could not GET 'https://jcenter.bintray.com/com/mycila/parent-pom/5/parent-pom-5.pom'. Received status code 504 from server: Gateway Time-out

Can you please verify if you're in an unrestricted network, and that you can access these files, say from your browser, without any issues.

@kishorebanala thank you for the response,
I can access the files, but I cannot verify the cause - my network changed since.
Update:
cd docker; docker-compose up now does not break, yet it still doesn't seem to work properly:

http://localhost:5000/ → Workflow Defs:

After changing URL to http://localhost:5000/#/workflow and refreshing the page:

Nothing runs on http://localhost:8080/ (expected Swagger).

Suspicious cd docker; docker-compose up logs:
conductor-server_1  | 0    [main] INFO  com.netflix.conductor.bootstrap.ModulesProvider  - Starting conductor server using dynomite/redis cluster.
conductor-server_1  | 8    [main] WARN  com.netflix.conductor.bootstrap.ModulesProvider  - Starting locking module using Noop Lock.
conductor-server_1  | 282  [main] INFO  com.netflix.conductor.core.execution.tasks.SystemTaskWorkerCoordinator  - Adding the queue for system task: HTTP
conductor-server_1  | 283  [main] INFO  com.netflix.conductor.contribs.http.HttpTask  - HttpTask initialized...
conductor-server_1  | 286  [main] INFO  com.netflix.conductor.core.execution.tasks.SystemTaskWorkerCoordinator  - Adding the queue for system task: KAFKA_PUBLISH
conductor-server_1  | 286  [main] INFO  com.netflix.conductor.contribs.kafka.KafkaPublishTask  - KafkaTask initialized...
conductor-server_1  | 288  [main] INFO  com.netflix.conductor.core.execution.tasks.SystemTaskWorkerCoordinator  - Adding the queue for system task: JSON_JQ_TRANSFORM
conductor-server_1  | Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/client/Client
conductor-server_1  |   at com.netflix.conductor.elasticsearch.ElasticSearchModule.configure(ElasticSearchModule.java:28)
conductor-server_1  |   at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
conductor-server_1  |   at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
conductor-server_1  |   at com.google.inject.spi.Elements.getElements(Elements.java:110)
conductor-server_1  |   at com.google.inject.util.Modules$OverrideModule.configure(Modules.java:177)
conductor-server_1  |   at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
conductor-server_1  |   at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
conductor-server_1  |   at com.google.inject.spi.Elements.getElements(Elements.java:110)
conductor-server_1  |   at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
conductor-server_1  |   at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
conductor-server_1  |   at com.google.inject.Guice.createInjector(Guice.java:99)
conductor-server_1  |   at com.google.inject.Guice.createInjector(Guice.java:73)
conductor-server_1  |   at com.netflix.conductor.bootstrap.Main.main(Main.java:45)
conductor-server_1  | Caused by: java.lang.ClassNotFoundException: org.elasticsearch.client.Client
conductor-server_1  |   at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
conductor-server_1  |   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
conductor-server_1  |   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
conductor-server_1  |   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
conductor-server_1  |   ... 13 more
conductor-ui_1      | {"name":"Conductor UI","hostname":"4438a0fae212","pid":7,"level":30,"msg":"Serving static /app/ui/dist","time":"2020-06-09T03:14:51.250Z","src":{"file":"/app/ui/dist/webpack:/src/server.js","line":29,"func":"Main.routesConfig"},"v":0}
conductor-ui_1      | {"name":"Conductor UI","hostname":"4438a0fae212","pid":7,"level":30,"msg":"Workflow UI listening at http://<IP_ADDRESS>:5000","time":"2020-06-09T03:14:51.347Z","src":{"file":"/app/ui/dist/webpack:/src/server.js","line":44},"v":0}
docker_conductor-server_1 exited with code 1

After opening http://localhost:5000/ → Workflow Defs:
conductor-ui_1      | Error: getaddrinfo ENOTFOUND conductor-server conductor-server:8080
conductor-ui_1      |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
conductor-ui_1      | Error: getaddrinfo ENOTFOUND conductor-server conductor-server:8080
conductor-ui_1      |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)

Should be fixed in #1733

@apanicker-nflx please note that the issue was resolved only partially. docker-compose still "fails", please see the previous comment: https://github.com/Netflix/conductor/issues/1725#issuecomment-641004069

Swagger not running on http://localhost:8080/

http://localhost:5000/ -> Workflow Defs throws an error:

The suspicious logs mentioned above seem to be from an older version which has since been fixed. Please try to run against the latest version.

I had the exact same error, but changing CONFIG_PROP=config-local.properties
temporary fix the issue. Not sure what causing it.
  environment:       # - CONFIG_PROP=config.properties       - CONFIG_PROP=config-local.properties # using memory

for me swagger is running but I still encounter the same issue.

@apanicker-nflx please note that the issue was resolved only partially. docker-compose still "fails", please see the previous comment: #1725 (comment)
Swagger not running on http://localhost:8080/
http://localhost:5000/ -> Workflow Defs throws an error:

Hi @IanSietro Can you share step for fix this issue ?


User guide update

Here's my first Pull Request for the User Guide, so hopefully I've got everything correct.
Wallbox Pulsar Plus has an improved list of entities and I've added a list for the EVBox Elvi.  I plan to add more as owners turn up in the repo and look as though they may be willing to contribute.
Many thanks for all your support so far.

Nice pull request, looks good to me!


Convert codebase to java8

In an effort to make sure that the code is stable and doesn't get small bugs, lets try to move most (not all) of the code into Java. We should also adapt the code to match java8 style.
Some things to consider:
[ ] - Using Files and Paths vs File
[ ] - Using try with resource
[ ] - Doing multi catches

I could help with this a bit while I learn the plugin. I currently have two questions regarding this work:

Do we care about backward compatibility regarding the ABI?
Would you consider this work as incremental PRs (like one or more class at a time)?

By ABI to you mean the JNI?
Yep! If you want to make small changes open a review and we'll merge them as they come in, no reason to hold onto incremental updates :-)

I read this in the Gradle 3.0 release note [1] (see section "Groovy to Java conversions"). There is ways to work around if compatibility is required. We could use the same workaround as Gradle use and once the conversion is finished, we can remove the fix in the next major release. It real depends on how you feel about honoring the compatibility between version (if it's a strict semantic versioning [2]).
[1] https://docs.gradle.org/3.0/release-notes
[2] http://semver.org/

I don't think it will be a big deal. I've been converting classes for a while to Java and haven't ran into the issue. We are also on 0.3 so this is the time to do these changes.

Sounds like a good plan.

My 2 cents on forcing Java 8 on plugin users; Please consider supporting the same Java versions as Gradle, without requiring workarounds.
This means, if you are supporting Gradle 2.x, then support Java 6 and up. If you only intend on supporting Gradle 3+, then support Java 7 and up.
Personally I think Netflix made a mistake in dropping support for running their plugins in Java 6. IMO, it is much more community-friendly if you support the same Java versions as Gradle does.
For us, Netflix's decision has caused nothing but pain, blocking us from upgrading their plugins and, even worse, from upgrading Gradle due to some of their plugin's usage of Gradle internals.
Using workarounds to support Java 6 may seem easy, but we've found that quite challenging at scale, despite our efforts in using "enterprise Gradle" techniques.

That is actually a very good and valid point. At the current state, there isn't any dependency on the software model so the target could be Java 6 and up with Gradle 2.x. With the software model (issue 30), I would suggest riding the latest wave, aka. Gradle 3+ and Java 7. Although the plugin is quite new and could just hop directly on Gradle 3+. It just depends how many people wants to jump on board and use the plugin.

I would be OK with dropping it down to Java 7 support, I don't want to go back to Java 6 (not receiving support since Feb 2013) since we do a lot of file operations, it would be a pain to have to stop using NIO and would probably introduce more external dependencies. If you look at Gradle's source they do a lot of hoop-jumping to be able to use NIO when they can and it's really a pain.
We could update the docs and say we recommend using Gradle 3, but will be back compatible to 2.7 (random version) as long as you use Java 7.
I think (haven't verified) that we are using some Java 8 features right now and they would have to be down-converted.

Sounds like a good compromise to me. What do you think @oesolutions?

I agree, that sounds fair enough.

Update: the code base is now Java 7 compliment.


match with only one non-empty arm should be if let

e.g.,
match hint {
    Some(h) => acc.push(h),
    None => { }
}

to
if let Some(h) = hint {
    acc.push(h)
}

This definitely needs to be an option! And will need some funky tests, I bet there are edge cases where we can't do this.

Would we not tread in clippy territory with such refactorings? I am not sure this should be in rustfmt's scope.

Clippy only points out if you should do it, rustfmt can actually make the change. Long term, I would really like for  rustfmt to do more of the stuff we rely on lints for at the moment.

I've been considering implementing this and would like to share some thoughts / a potential design.
Definitions
In the context of match expressions we define the following:

An empty arm is an arm which is either the unit expressions () or an empty block {}.
A simple arm is an arm without a predicate.
An empty match is a match with only empty arms.
A simple match is a match which consists of any number of empty arms and exactly one non-empty arm, which must be simple.

Design
Optionally rewrite simple matches to their if let form. The following options are available:
enum SimpleMatchTransform {
    // Transform all simple `match`es.
    Always,
    // Transform only simple `match`es which have at most one empty arm, who's pattern must be the `_` wildcard.
    WildcardOnly,
    // Never transform simple `match`es.
    Never,
}

Failures
If any of the following is present, rustfmt will (for now) be unable to transform a simple match:

Any non-whitespace tokens between individual arms and the opening and closing braces (comments, attributes): There exists no obvious way to rewrite those.
Any non-simple arm (that is, an arm with a predicate): While it may be good style, there is no way to know if a predicate is side-effect-free, as such there is no way to now if it can be removed without changing the behaviour of the code.

Possible Extensions

Rewrite empty matches to let _ = $match_expr

Other Thoughts

Do simple matches in expression position require special consideration? They would be pretty useless because they always evaluate to () but maybe the author planned for the match to evaluate to something else in the near future.
I have, in the past, deliberately used match instead of a possible if let when pattern + match expressions exceeded the acceptable line length, because the syntax looks cleaner that way:

// Original
if let MaybeAnEnum::WithALongNamedVariant(and, some, parameters) = some_extremly_long_and_complicated_expression() {
}
// `if let` with line break
if let MaybeAnEnum::WithALongNamedVariant(and, some, parameters) =
    some_extremly_long_and_complicated_expression() {
}
// `match`
match some_extremly_long_and_complicated_expression() {
    MaybeAnEnum::WithALongNamedVariant(and, some, parameters) => {
    }
    _ => (),
}
```

@TimNN wow, that's thorough, good stuff. Comments:

An empty arm is an arm which is either the unit expressions () or an empty block {}

You should check what happens with () match arms, in particular when they're used in expression position - you might need an else in that case or it isn't an exhaustive match. Not sure of the exact behaviour.
I would probably start without WildcardOnly - if someone wants it later, then add it, otherwise keep it simple.

Rewrite empty matches to let _ = $match_expr

Why not just $match_expr; ? We could also just warn. Fine to leave this till later in any case
I hope that this can be a context-free transformation, i.e., we should not consider whether we are in expression position. If the author doesn't want the change, they can disable the option of use #[rustfmt_skip].
I think I still prefer the if let in the long line situation - it's still two lines shorter and the meaning is clearer. Note though that I would indent the second line of the conditional to align with the start of Maybe..., rather than have one tab space indent. (Not sure what rustfmt does in this case).

BTW, one approach to this would be to rewrite the AST then use rustfmt's existing functions on that AST - I would not do that. I would generate the code as text and hope we can get reuse by just sharing helper functions, etc.. If you go the AST route there are complications with spans, etc., and building AST is usually pretty yuck.

The WildcardOnly option was pretty much a result from a comment I read in clippy, about why the simple match lint only considers the _ case:
// and the second pattern is a `_` wildcard: this is not strictly necessary,
// since the exhaustiveness check will ensure the last one is a catch-all,
// but in some cases, an explicit match is preferred to catch situations
// when an enum is extended, so we don't consider these cases

() should be fine (I don't think there's any difference between () and {} for the type checker, and the following works:
 fn main() {
    let a: () = if let Some(1) = Some(2) {
        ;
    };
}

I have not even considered how to do the actual implementation :D But going the text only route will be difficult as well I think, because the new code will need to be reformatted as well. And from glancing at the code, I think it should be possible to call rewrite_if_else() with the relevant parts of the match without actually having to create new ast nodes, but I'll have to investigate that in more depth.
Also, something I just thought about, maybe we should consider a #[rustfmt_skip_transform], which will only prevent rustfmt from transforming the code (ie. from simple match to if let) but not from formatting of existing code.

Another possible extension would be checking for matches with exactly two arms where one is simple and the other is a wildcard without a predicate and transform these to if let ... else expressions.

Hmm, I wonder if we should also transform => () match arms to => {} - I consider the latter to be better style.

Yeah, that seems like good motivation for the wildcard only option.

We could add rustfmt_skip_transform, I would leave it for later, see if it's useful or not. In particular, at some point Rust should get scoped attributes, and then we can add a load of stuff to the rustfmt:: namespace. But if we add a lot of stuff now, it will be a pain to change it later.


firebase_messaging: Flutter IOS onRefreshToken() method never invoke

Is there an existing issue for this?

[X] I have searched the existing issues.

Which plugins are affected?
In-App Messaging, Messaging
Which platforms are affected?
iOS
Description
AVD could invoke the onrefreshToken  method while installing, on IOS physical device, no matter uninstall the app and install again, the onrefreshToken never invoke.
Reproducing the issue
Same Code on Android virtual Device and IOS physical device behave different.
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  FirebaseMessaging.instance.onTokenRefresh.listen((event) {
    print("Token Refreshed " + event.toString());
  }, onError: (e) {
    print("Error in Token Refreshed " + e.toString());
  });
  runApp(MyApp());
}

both of them could receive the push notification, but IOS console never print the information as AVD does.
Firebase Core version
3.8.0
Flutter Version
3.24.5
Relevant Log Output
11.4.0 - [GoogleUtilities/AppDelegateSwizzler][I-SWZ001011] App Delegate Proxy is disabled.
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
flutter: iOS
flutter: Token listener Registered
flutter: Initial FCM Token: e4lUkeV3ZEB6ri0miUH_jc:APA91bG4DbcOGSQRKqusm5LyS8GitrkK7KQ2YjvF0_RnTkiiqxBvFk63-DJU1dw1fClRfe7fmdnu8i6XWUKZJMOssyqh8U4x5qc8W4esefPRU63-GHJAU7s
flutter: User granted permission: AuthorizationStatus.authorized
flutter: User granted permission

Flutter dependencies

Expand Flutter dependencies snippet

Dart SDK 3.5.4
Flutter SDK 3.24.5
notification 1.0.0+1

dependencies:
- clipboard 0.1.3 [flutter]
- cupertino_icons 1.0.8
- firebase_core 3.8.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_database 11.1.6 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_messaging 15.1.5 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- http 1.2.2 [async http_parser meta web]
- url_launcher 6.3.1 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- flutter_lints 5.0.0 [lints]
- flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math leak_tracker_flutter_testing async boolean_selector characters collection leak_tracker leak_tracker_testing material_color_utilities meta source_span stream_channel string_scanner term_glyph vm_service]

transitive dependencies:
- _flutterfire_internals 1.3.46 [collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.11.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.3.0
- clock 1.1.1
- collection 1.18.0
- fake_async 1.3.1 [clock collection]
- firebase_core_platform_interface 5.3.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.18.1 [firebase_core_platform_interface flutter flutter_web_plugins meta web]
- firebase_database_platform_interface 0.2.5+46 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.6+4 [collection firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins]
- firebase_messaging_platform_interface 4.5.48 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.9.4 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web]
- flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- leak_tracker 10.0.5 [clock collection meta path vm_service]
- leak_tracker_flutter_testing 3.0.5 [flutter leak_tracker leak_tracker_testing matcher meta]
- leak_tracker_testing 3.0.1 [leak_tracker matcher meta]
- lints 5.0.0
- matcher 0.12.16+1 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.11.1 [collection]
- meta 1.15.0
- path 1.9.0
- plugin_platform_interface 2.1.8 [meta]
- sky_engine 0.0.99
- source_span 1.10.0 [collection path term_glyph]
- stack_trace 1.11.1 [path]
- stream_channel 2.1.2 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.7.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph]
- typed_data 1.4.0 [collection]
- url_launcher_android 6.3.14 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.3.1 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.2.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.2.1 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.3.2 [flutter plugin_platform_interface]
- url_launcher_web 2.3.3 [flutter flutter_web_plugins url_launcher_platform_interface web]
- url_launcher_windows 3.1.3 [flutter url_launcher_platform_interface]
- vector_math 2.1.4
- vm_service 14.2.5
- web 1.1.0

Additional context and comments
No response

Hi @monsterlady, I couldn't reproduce this issue. I tested it on both an Android emulator and an iOS device, and the onTokenRefresh method was triggered successfully after a fresh install.


Fix panic

This PR fixes the following

[x] Fix IRI  from prepared resource in "add data values" part
[x] The naming is not correct, e.g., "message ApplicationLog" instead of ApplicationLogging (we fix this in the PR #36)

Already changed by PR #36 .

Changes already added by PR #36.


List instead of Collection in Javadoc of Message#delete

Pull Request Etiquette

[X] I have checked the PRs for upcoming features/bug fixes.
[X] I have read the contributing guidelines.

Changes

[ ] Internal code
[ ] Library interface (affecting end-user code)
[X] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
The JavaDoc of net.dv8tion.jda.api.entities.Message#delete(), referres to net.dv8tion.jda.api.entities.MessageChannel#purgeMessages.
While the link is correct, the text says Collection and not List.
This PR fixes this.

Was there a reason that purgeMessages was switched from Collection -> List? cuz it seems more natural to me to change the actual method signature and not the javadocs referencing to it

Changing the method signature is a breaking change. It would have to be done with an overload.


handle errors that aren't strings

nice to have a unit test

Yes that would be nice. Should that hold up the fix though?
FWIW, I am planning to create a test suite and cover existing functionality with unit tests in the near future.

Ok as long as we don't forget about this specific one when we're doing that work it should be fine with me.


upgrade bouncycastle library to latest version

update bouncycastle library to latest version which contains a fix for vulnerability CVE-2018-1000613.
More details at https://nvd.nist.gov/vuln/detail/CVE-2018-1000613

Codecov Report

Merging #686 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #686   +/-   ##
=========================================
  Coverage     99.49%   99.49%
  Complexity     1859     1859
=========================================
  Files           285      285
  Lines          5545     5545
  Branches        278      278
=========================================
  Hits           5517     5517
  Misses            5        5
  Partials         23       23

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a585543...68c62ef. Read the comment docs.


redminebot joins channel and responds to itself constantly

Responds with
@redminebot :question: Unknown/invalid command - Try `help` for a list of supported commands

which triggers the same response over and over

Easiest fix would be to prevent redminebot from responding to itself


UnknownAPINameOrVersion when accessing the vision api

When I run:
from apiclient.discovery import build
service = build('vision', 'v1')

I receive a UnknownAPINameOrVersion error.
I think it's because the client is hitting:
https://www.googleapis.com/discovery/v1/apis/vision/v1/rest

Instead of:
https://vision.googleapis.com/$discovery/rest?version=v1

Worth noting that manually listing the discoveryServiceUrl works:
service = build('vision', 'v1', discoveryServiceUrl="https://vision.googleapis.com/$discovery/rest?version=v1")

This worked for me:
from googleapiclient import discovery
service = discovery.build('vision', 'v1')

The suggestion that @bantini offered works for me too.  I'll close this issue as a result.


Ability to add destination path files options field.

I've set an ability to add object { src: '...', dest: '...' } files option field. See example below.
var nw = new NwBuilder({
        files: [
           {
              src: path.resolve(__dirname, '../path/to/another/lib/**/*'),  # /home/user/me/path/to/another/lib/**/*
              dest: 'lib'  # app.nw/lib
            }
        ],
        ...
});

During compression or zipping, all the files from ../path/to/another/lib/**/* will be stored to app.nw/lib location.

I feel like this shouldn't be handled by this module.


Unable to rerun modules files in localhost

Unable to rerun the files in the modules folder in localhost with the restructured folder, any ideas @gabacode ?

Hello @yvann-hub , does it give any error in particular?
I can run it in local with this process:

python3 -m venv ./venv
source ./venv/bin/activate
pip install -r requirements.txt
streamlit run src/chatbot_csv.py

Hey @gabacode,  Yes I can launch also without problem, the problem is at the level of the update of the files at the time of the modifications in local, if I bring modifications to the principal file I can rerun the page in localhost but if the modifications are on functions of the modules folder they are not updated what makes that it is necessary to re-launch a new page localhost. I have searched but I did not really find efficient answers, it is possible that streamlit does not support asynchronous functions very well

Is this something that was working before?

fix with reload modules function in chatbot_csv


Downloading blob to file is not working on iPad chrome and Safary

Need to improve the download logic from blob to file.

Resolved


arithmetic operation overflowed

I tried this toml:
[package]
name = "game"
version = "0.1.0"
authors = ["adjivas<EMAIL_ADDRESS>
[dependencies]
piston_window = "0.15.0"

[target.x86_64-apple-darwin.freetype]
native = {
  libs: ["freetype"],
  link_paths: ["/Volumes/Data/nfs/zfs-student-5/users/2013/adjivas/.brew/Cellar/freetype/2.6_1/lib"],
  frameworks: [],
  framework_paths: [],
  include_paths: ["/Volumes/Data/nfs/zfs-student-5/users/2013/adjivas/.brew/Cellar/freetype/2.6_1/include/freetype2"],
  version: "18.0.12"
}
rustc-link-search = ["native=/Volumes/Data/nfs/zfs-student-5/users/2013/adjivas/.brew/Cellar/freetype/2.6_1/lib"]
rustc-link-lib = ["freetype"]

I expected to see this happen:
$ cargo build
thread '<unnamed>' panicked at 'arithmetic operation overflowed', /private/tmp/rust20151007-99953-1hnrzb3/rustc-1.3.0/.brew_home/.cargo/registry/src/github.com-0a35038f75765ae4/toml-0.1.22/src/parser.rs:152
thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: Any', src/libcore/result.rs:732
 adjivas@e2r3p20:~/Project/game/ 𝄞 mkdir .rust/lib/x86_64-apple-darwin
mkdir: .rust/lib: No such file or directory

Thanks for the report! Looks like this was already fixed in https://github.com/alexcrichton/toml-rs/commit/64ae43a386155b905fd4938ec40a61f3edff1856, so just need to update the version of toml we're using!


BUG: mobile site navigation menu button has borders

Remove border from site navigation menu button

@kkoryaka is this bug for the menu border WITHOUT hitting the button? I see a orange border on it after I hit Menu , then Close.

@jaredwyee that is outline for focused state, totally ok.

Thanks


Arbitrarily-nested hashes/arrays emitted as hash keys

Cherry-picked from https://github.com/palfrey/yaml-rust/pull/1:
Currently, heavily nested arrays or hashes used as keys of hashes (such as a hash<hash<array<_>, _>, _>) were either illegally written, or caused an error when attempted to be emitted. This fixes that situation by using the ? ... : YAML mapping form (as shown in example 2.11 here), which is more amenable to writing complex keys.
If the key of a hashmap is not complex (i.e. a number, string, etc), then the emitting code is unchanged.

Thanks! This conflicted with #62 and #66. Would you be able to rebase?

@dtolnay: I think I've got this one rebased properly: all tests passing. Feel free to merge it in at your leisure.

After getting a bit frustrated with the output, I've made some refactoring to (hopefully) make things easier to understand how sequences and mappings get output. I've also added a COMPACT constant (set to true), which determines if the yaml output should take advantage of compact in-line notation for block sequences and ?-style mappings, which greatly reduces vertical scroll.

How do users control the setting of COMPACT?

Thanks for asking! The obvious answer is: as written right now, they can't. :-D I'm not sure what the best way to do so is. On one hand, we could change COMPACT to a static mut, which would make it a "global flag" if users are willing to unsafe alter it. This has the advantage that dependent packages (such as serde_yaml) wouldn't need to change:
unsafe { yaml_rust::emitter::COMPACT = false; }
serde_yaml::to_string(&myThing).unwrap();

On the other hand, that doesn't feel particularly safe or idiomatic. I'm also tempted to make it a property of YamlEmitter:
struct YamlEmitter { ..., compact: bool }
impl YamlEmitter { fn compact(&mut self, val: bool) { ... } }

Much safer, but dependencies would need to change to take advantage:
unsafe { yaml_rust::emitter::COMPACT = false; }
serde_yaml::to_string(&myThing, compact).unwrap();  // or whatever

I'm open to any solution, really, and would love your feedback here.
In any case, the current const approach doesn't break anything or lose functionality, while keeping things open for the future.

After thinking about it a bit, I've gone ahead with option 2 above, using compact: true as the default. You can use let e = YamlEmitter:new(...); e.compact(false);` to override if you like; this should preserve backwards compatibility in the API surface, while still allowing users to change the flag.

I've merged in tests and fixes from the past month or so. This is an alternative to #77: the emitter never enters flow style for sequences or mappings, so it lays things out in a more vertical-oriented style.


vSphere node driver - VM deployed from content library is not setting network as per node template

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Create a vsphere node template with creation method as content library

Create a cluster using the new template

Result:

VM gets created with no network

Other details that may be helpful:
Rancher trace log shows that the network parameters are passed to rancher-machine via flag -vmwarevsphere-network
[TRACE] buildCommand args: [rancher-machine --debug create -d vmwarevsphere --engine-install-url https://releases.rancher.com/install-docker/19.03.sh --vmwarevsphere-cfgparam disk.enableUUID=TRUE --vmwarevsphere-datastore /NUCDC/datastore/DS01 --vmwarevsphere-network /NUCDC/network/DPortGroup 1 --vmwarevsphere-datacenter /NUCDC --vmwarevsphere-disk-size 20000 --vmwarevsphere-ssh-password tcuser --vmwarevsphere-folder /NUCDC/vm/test folder/k8s vms --vmwarevsphere-memory-size 2048 --vmwarevsphere-pool /NUCDC/host/esxi01.ansil.io/Resources --vmwarevsphere-creation-type library --vmwarevsphere-password Vmware@123 --vmwarevsphere-ssh-user-group staff --vmwarevsphere-vcenter-port 443 --vmwarevsphere-content-library test content library --vmwarevsphere-ssh-port 22 --vmwarevsphere-ssh-user docker --vmwarevsphere-username<EMAIL_ADDRESS>--vmwarevsphere-vcenter <IP_ADDRESS> --vmwarevsphere-clone-from ubuntu-18-cloud-template --vmwarevsphere-cpu-count 2 --vmwarevsphere-cloud-config /RDEVSVNQER/cloud-config all-in-one-node1]

Rancher trace log
rancher_node_driver_debug.log

If there is a network adapter present in the VM template and that is mapped to an existing network, then VM comes up with that network instead of the one passed via node template.

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.4.11
Installation option (single install/HA): HA

gz#15111

I'm having the same problem and noticed that if I go back and edit the node template that the network settings are empty in the template itself (as an aside the same thing happens to the Folder location and the Data Store settings not getting saved).

@depasseg , The issue you are facing is not the same.
Values not getting populated while editing node template is addressed via https://github.com/rancher/rancher/issues/30690 and the milestone for that fix is v2.5.6.

this is still an issue on master-351f7ca04973c1f023653f171c0f621f31bf2ca2-head:

deploy rancher on vsphere
deploy vsphere downstream cluster using content library with custom network settings
Network still uses default value on vsphere instead of user chosen value

Looks like the flag vmwarevsphere-network in rancher-machine is not setting even though we pass the values properly.
https://github.com/rancher/machine/blob/v0.15.0-rancher57/drivers/vmwarevsphere/flags.go#L202
So we ending up with the default network.
https://github.com/rancher/machine/blob/v0.15.0-rancher57/drivers/vmwarevsphere/vsphere.go#L263
Need to check the recent changes that went into the flag code path.

The driver reports the below messages and this points to the update I made above.
2021/05/14 00:00:49 [INFO] [node-controller-rancher-machine] (all-in-one-test1) Type assertion did not go smoothly to string slice for key vmwarevsphere-network
2021/05/14 00:00:49 [INFO] [node-controller-rancher-machine] (all-in-one-test1) Type assertion did not go smoothly to string slice for key vmwarevsphere-tag
2021/05/14 00:00:49 [INFO] [node-controller-rancher-machine] (all-in-one-test1) Type assertion did not go smoothly to string slice for key vmwarevsphere-custom-attribute
2021/05/14 00:00:49 [INFO] [node-controller-rancher-machine] (all-in-one-test1) Type assertion did not go smoothly to string slice for key vmwarevsphere-cfgparam
2021/05/14 00:00:49 [INFO] [node-controller-rancher-machine] (all-in-one-test1) Type assertion did not go smoothly to string slice for key vmwarevsphere-vapp-property

But while testing with rancher/machine  tag v0.15.0-rancher56 I didn't see this message and network mapping works fine.

Hi @superseb , Need your help on this. I can't find the reason for this issue since the PR I pushed works fine with v0.15.0-rancher56

Your changes went into v0.15.0-rancher57, I'm not following what you are saying. It works with a version without your changes and now it doesn't? While it was filed as not working currently?

I pulled branch v0.15.0-rancher56 and replaced the file which was modified in that PR and compiled the binary.
Then used that binary to create a machine and it worked fine.
When I pulled v0.15.0-rancher57 and compiled it and while using it I get the message Type assertion did not go smoothly to string slice for key while creating the machine. I don't know what is causing this message to appear which is not happening when I manually test PR directly on v0.15.0-rancher56

Isn't using tag v0.15.0-rancher56 + your PR the same as using v0.15.0-rancher57 as your PR was merged in between? What Rancher version/branch/commit are you testing this with?

Oops, looks like the way I compiled the binary is the problem. When I use-a along with the build, this issue is happening on v0.15.0-rancher56 too.  I wasn't using -a when I tested the PR locally.
CGO_ENABLED=0 GOARCH=amd64 go build -a -tags netgo -installsuffix netgo -ldflags "-X main.VERSION=$VERSION -extldflags '-static -s'" -o ./bin/rancher-machine-Linux-x86_64 ./cmd/rancher-machine;

Build from tags/v0.15.0-rancher56 have issues.
I think the blast radius of this issue is more here since the flags with the type "string slice" from the command line are NOT propagating to the driver at all.
Build from tags/v0.15.0-rancher55 works fine
So this issue is introduced in tags/v0.15.0-rancher56.
Since I was using an old tag while creating this PR , my test worked fine at that time.

Its probably the urfave/cli bump done when pod driver was introduced, have to look at what exactly changed and how to remediate.

@ansilh Can you test using https://github.com/rancher/machine/pull/124?

Thanks, @superseb . Yes, It worked after appying  124.patch.

master-head (5d2b7ac), node template settings for network now are correctly setting the VM network
new related issue filed here: https://github.com/rancher/rancher/issues/32761


Add support for Depth camera Structure

https://structure.io

Links
http://www.ferienvillaflorida.de/labs//3d/sensors/2016/12/01/raspberry-pi.html
https://youtu.be/zDL8XtbuzGU
https://github.com/occipital/OpenNI2/blob/master/README.md

https://store.structure.io/store/accessories

https://github.com/fangchangma/openni2_ros_wrapper
https://3dscanexpert.com/structure-sensor-realsense-sr300-kinect-v2-3d-scanning/amp/

http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra-S_p_21.html

https://discourse.ros.org/t/new-depth-sensor-orbbec-astra-call-for-testing/252/14
https://3dclub.orbbec3d.com/t/compatibility-of-orbbec-astra-with-raspberry-pi3/578

It is not a priority


Bump version to 2.0.1

Questions
Answers

Description?
Bump version to 2.0.1

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
N/A

How to test?
N/A

Thank you @Progi1984


wind speed inversion

we need to implement wind speed inversion

[ ] copol
[ ] crosspol
[ ] dualpol

Also

[ ] nesz flattening
[ ] read ancillary ecmwf file (0.1deg@1h)

For the moment, we won't:

improve denoising quality
read all ecmwf ancillary files formats

cc: @vincelhx

seen

In the future, we will have to use and 'ocean_mask' instead of a 'land_mask': https://github.com/umr-lops/xsar/issues/28

[simplify angle formating]

Multiple tests have been done to understand the differences in dual sarwing-xsar.
Major explanation :
Until now, we loaded L1 dataset this way :
sar_ds = xsar.open_dataset(s1meta, resolution = '1000m')

leading to a xarray of dimensions  pol: 2, atrack: 170, xtrack: 256
Yet, L2 datasets have dimensions owiAzSize: 167, owiRaSize: 256, owiIncSize: 153
To compare my results and sarwing results we performed an interpolation of sarwing data on atrack, xtrack doing :
atracks_2D, xtracks_2D = s1meta.ll2coords(L2_ds['owiLon'],L2_ds['owiLat'])
atracks = np.mean(atracks_2D, axis=1)
xtracks = np.mean(xtracks_2D, axis=0)
L2_ds = L2_ds.rename(owiAzSize= "atrack",owiRaSize = "xtrack").assign_coords(atrack = atracks,xtrack = xtracks)
variable_spd_l2 = L2_ds.owiWindSpeed.interp(atrack = sar_ds.atrack, xtrack = sar_ds.xtrack,method='nearest')

To compare two inputs I computed the difference between  xsar raw nrcs and and sarwing interpolated raw nrcs :

We observe a small difference but we were surprised to have a difference of about 3% of maximum raw nrcs.
Moreover, computing inversion with sarwing sigma_0 leaded to smaller differences in the resulting wind speed.
Now to load a L1 dataset we will do
sar_ds = xsar.open_dataset(s1meta, resolution  = {'atrack':100,'xtrack':100})

leading to a xarray of dimensions :  pol: 2, atrack: 167, xtrack: 256 (same dims as sarwing L2)
xsar raw nrcs is much closer to sarwing interpolated raw nrcs :

We believe that my inversion implementation is good but inputs differences lead to windspeed differences after inversion.
So here are the futures tasks :

We will use my inversion implementation with sarwing inputs, and compare.
Once 1. is ok, we will compare xsar inputs with sarwing inputs

@vincelhx , thanks for your PR #10. I've worked on it, and I've finalized a new PR #13


How to convert a SVG to PNG

I found this project trough a comment from Yisibl.
How can I render a file "SVG.svg"?

See also: https://github.com/yisibl/resvg-js/blob/d0476f293c305ac0596ae6afdd203c8d5c0e7223/example/compare.js#L50-L75


Handle time stamps from containerd checkpoint archives

This fixes containerd archive created time handling and adds checkpointed time for all archives.

@adrianreber Would it be possible to also update the examples in README.md?

@adrianreber Would it be possible to also update the examples in README.md?

Sure. Done.

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (503a086) 78.67% compared to head (a6f4281) 78.27%.

Files
Patch %
Lines

internal/json.go
0.00%
2 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #120      +/-   ##
==========================================
- Coverage   78.67%   78.27%   -0.40%
==========================================
  Files           9        9
  Lines        1158     1160       +2
==========================================
- Hits          911      908       -3
- Misses        185      190       +5
  Partials       62       62

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Change in Dutch Translation

Changed "volgt" to "volgend".
I think this is a better translation. This is also how Instagram translates it.

Please create PR into staging and not new-design


Is it possible to bold text on EmailShareButton body component ?

I'm using the EmailShareButton component body but i can't seem to bold the text.. its outputting [object Object] instead..
const body =
Heading + '\n' +
job?.description.replace(/<[^>]*>?/gm, '').replace(' ', ' ').slice(0, 100) + '... \n\n';
EmailShareButton
url={${siteUrl}/${urlPrefix}/${post?.url_slug}}
subject={'Our website | ' + post?.title}
body={body} >

Did you find any solution?

No, since the EmailShareButton just generates a mailto link with the body as a parameter.  HTML tags are not supported.
https://stackoverflow.com/a/21010507/7922166


exit beta

This lib reached beta in 2012.
Maybe it's time to reach stable?

This lib has reached stable in 2016.

I think this issue references the "This library is in Beta" notice in the README and would like that notice to be updated.

@bochunz yes, @grant got it right. The README has a huge mention of being in beta, that's what I was referring to.

Oh you are right @grant and @Offirmo. We forgot to update the README when we declared stable. I've just removed it.


Id is required when passing InputFilePath (for Set-AzureADMSTrustFrameworkPolicy)

I'm using AzureADPreview <IP_ADDRESS>.
When I run
Set-AzureADMSTrustFrameworkPolicy -InputFilePath TrustFrameworkBase.xml

It throws an error
Set-AzureADMSTrustFrameworkPolicy : Cannot process command because of one or more missing mandatory parameters: Id.

The doc right now says Id is not required, but the implementation requires the Id param when passing InputFilePath. I think we should update it.
Please feel free to correct me if I am wrong somewhere or if I misunderstand anything. Thanks

Docs Build status updates of commit b6cf8a0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureadps-2.0-preview/AzureAD/Set-AzureADMSTrustFrameworkPolicy.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

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 docs.microsoft.com contributor guidesPost your question in the Docs support channel

Hello @nguyenlamlll, thanks for your contribution. Please redo this PR with the base branch as master and not live as per policy. Thanks.

Thanks. Let me double-check and do the PR with the master branch.


Use bcrypt instead of md5

https://github.com/airenas/api-doorman/blob/e18a39ff5149a0441beb63cb961a8c30287fdcdc/internal/pkg/handler/fillHeader.go#L80
It is not a security issue here, but md5 is broken.

Golang bcrypt implementation uses random salt each time. It does not suit for our case. Switched to sha256


TiFlash panics with Too many open files in the cloud GCP env

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)

Topology: 3-tidb-16C32G / 9-tikv-16C64G-2000G / 3-pd-4C15G-50G / 2-tiflash-16C128G-500G
Platform: GCP
Unknown workloads

2. What did you expect to see? (Required)

No panic

3. What did you see instead (Required)
Too many fd under tiflash process. The number of FD keeps growing, causing queries to fail and eventually tiflash to panic. Most of the FDs are related to sockets and a large amount of sockets are still open but can not be found in /proc/net.
sh-5.1# ls -l /proc/1/fd/ | wc -l
295268
sh-5.1# ls -l /proc/1/fd/ | grep "eventfd" | wc -l
98368
sh-5.1# ls -l /proc/1/fd/ | grep "eventpoll" | wc -l
98391
sh-5.1# ls -l /proc/1/fd/ | grep "socket" | wc -l
98492

Other
In the AWS environment, there is no such problem yet.
4. What is your TiFlash version? (Required)
v7.5.3

After disabling mpp, such problem does not occur anymore. Is there any potential bug in the implementation about mpp ?
set global tidb_allow_fallback_to_tikv = "tiflash";
set global tidb_allow_mpp = 0;
set global tidb_allow_tiflash_cop = 1;

https://github.com/grpc/grpc/issues/32538#issuecomment-1478768118

For example, earlier versions of gRPC had an fd leak with the epollex poller, which was removed in v1.46. It may be too late to diagnose some of those years-old issues.

https://github.com/grpc/grpc/issues/20418#issuecomment-1725819692

The details were posted to the mailing list: Patch Releases for CVE-2023-4785, covering gRPC Core, C++, Python, and Ruby.

Lack of error handling in the TCP server in Google's gRPC starting version 1.23 on posix-compatible platforms (ex. Linux) allows an attacker to cause a denial of service by initiating a significant number of connections with the server. Note that gRPC C++ Python, and Ruby are affected, but gRPC Java, and Go are NOT affected.

The following set of releases contain the fix:

1.57.0 and later: https://github.com/grpc/grpc/releases/tag/v1.57.0
1.56.2: https://github.com/grpc/grpc/releases/tag/v1.56.2
1.55.3: https://github.com/grpc/grpc/releases/tag/v1.55.3
1.54.3: https://github.com/grpc/grpc/releases/tag/v1.54.3
1.53.2: https://github.com/grpc/grpc/releases/tag/v1.53.2

In client-c conn.h#L23, the param grpc.max_reconnect_backoff_ms is set to 3s by default. The grpc uses backup pollers for polling fds every 5 seconds(DEFAULT_POLL_INTERVAL_MS) in certain edge cases. If GRPC_ARG_MIN_RECONNECT_BACKOFF_MS is less than poll interval, the channel won't reconnect after the net isolation issue.


Small typo in README.md file

Fix typo in "Kibana index pattern creation" section of README.md file

Thanks @khwunchai


NoPaymentInput from TUI when committing funds during head opening

We occasionally get "NoPaymentInput" when going through the process of opening a hydra head using the TUI and the demo directory.
Strangely, the common factor seems to be the order of the UTXO: this seems to happen if the wallet fuel UTXO (the one with the datum attached) isn't first in the list.  Once we built a transaction that reordered the UTXOs in the wallet so that it was first, the TUI became unblocked.
Specifically, here's what we observed:

TUI-1, -2, and -3 each init
TUI-1, -2 each commit a UTXO
TUI-3 fails to commit with "NoPaymentInput"
Wait a few seconds, in case it's waiting to observe something on chain, and try again; same result
wallet 3's UTXO contains 2f7c91d22a01cc99fb34048ea8d87224535b4a157a2225c932739a53bf92b627#1, #2, and #3, plus the marked UTXO d487643ca38004f4bc2ba0a802dd397ac5aa1d59f13ea9dd8735783878cefa5a#1
Build a transaction that spends 2f7c...#1, #2 and #3 into fbc48423aa65dceb2da65d2e37e0d1de2b1d9026f3c77cdfc457b71a94b763e7#..
TUI automatically unblocks and commits with no UTXOs selected, which opens the head

Some or all of the above may be us misunderstanding what we're seeing, and coincidental timing, but it's happened a few times now, and I've observed at least one case where this ordering wasn't required.
Discussed more in depth with links to txs with @KtorZ in DMs.

Tried to reproduce this behavior in a unit test around our function which does findFuelUTxO, but it seems that one is behaving as expected. Maybe it's not about the ordering and more a race-condition in this very fragile piece of code -> our internal wallet does retry up to 10sec when not finding a payment utxo to work-around the fact that we have not seen a block on the wallet chain sync yet (but already on the hydra chain observing connection). Will investigate further..

Reverse engineering the observations:

TUI-3 fails to commit with "NoPaymentInput"

this is the only location where NoPaymentInput is thrown
it's thrown after if we don't construct and submit a tx within 10sec in an STM
the only retry is in in finalizeTx when coverFee is not finding a payment (fuel) utxo
the coverFee re-returns any Left of coverFee_
this is the only location where ErrNoPaymentUTxOFound is returned by coverFee_
I unit tested findFuelUTxO (see above) with the tx ids provided in the reproduction and it's working as expected irrespective of the order of tx ids in the utxo
Hence, it must be the case that the internal wallet was asked to coverFee in a finalizeTx, but retried for > 10s, and it was not seeing the "fuel output" become available within that time in this TMVar
The TMVar is only written in

this swapTMVar on successfully finalizing a to-be-submitted tx, or
this swapTMVar on rolling forward / receiving a block

this one is behind a conditional on whether the utxo tracked by the internal wallet changed

this writeTMVar after querying the UTxO

this is typically done in the beginning when initializing the internal wallet and upon seeing a rollback

In general: the code is quite of a mess, many places interacting with each other in the Wallet module

TUI automatically unblocks and commits with no UTXOs selected, which opens the head

Automatic unblock would happen if a block is received (per above) and the utxo TMVar is updated within the 10sec limit, while the node is still trying to do submit a transaction. A commit tx in this case. @Quantumplation is it possible that this was within 10 secs of sending a commit API command?

@ch1bo it's theoretically possible, but I doubt it; when the commit didn't go through, Raymond (the engineer who had first noticed this behavior) mentioned I needed to reorder the txs, and then I spent time building a tx that did so via cardano-cli; I'm almost positive all of that took longer than 10s 😅

@Quantumplation we reworked the internal wallet to not have this race condition anymore. Could you try to use that version (current master) and report back / reopen if you see problems with that implementation again?


How to add AlexaPi to amazon Alexa App

How to add AlexaPi to amazon Alexa App. or Add skills to it?

Isn't possible, since AlexaPi uses the old API. It is the same reason that alarms and timers won't work. I hope the devs retake the project someday and enable those features, but now, can't be done.


Windows 7 issue

There appears to be a weird overlay that makes the aero theme and window buttons look washed out and not as saturated. Compared to your screenshot, I think you can see it looks quite different.
I don't think this is specific to your theme as it was there when I first installed Firefox. But maybe you know how to fix it?

It's like a gradient almost. It's a lot more noticable when I turned on the title bar.

I fixed it with
#TabsToolbar { 	background-image: none !important; }
Sorry to waste your time!

Hi. This gradient is only available on the system theme. I left it on purpose so that black fonts would be visible even on a black background. Light and dark themes do not have gradients, but the user will have to independently choose the background through the capabilities of the system. I will update screenshots for better clarity.

I think the background would be fine as long as it doesn't cover up the minimize/maximize/close buttons.


version downgrade for PHP installation

@neilpeterson,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


[ConstraintSolver] NFC: Increase default shrinking termination threshold

We've found in practice that multiple different types of expressions
are still going to benefit from shrinking continuing even when it
couldn't simplify up to 10 sub-expressions.

@swift-ci please test

@swift-ci please test source compatibility

@xedin Wasn't this threshold originally chosen to ensure that we wouldn't appear to hang in some cases?

@rudkx Yes, but we made it too low in the original PR, and it looks take harms some expressions.

@xedin If we're going to increase it it seems like we also need to make sure we don't hang indefinitely here. Can you look at adding another timer that uses the same threshold as the existing timer for the main solver?

@rudkx Sure, will do!

@xedin and I discussed separately adding the timeout as a separate commit on master.


Atom Editor Doesn't Come to Foreground on Windows 10 if already open

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Atom on Windows 10 does not gain focus if a window is already open.
Steps to Reproduce

In git bash run atom test.txt (Atom opens in foreground)
Return to git bash and run atom test2.txt

Expected behavior: [What you expect to happen]
Atom opens test2.txt in new tab and gains focus.
Actual behavior: [What actually happens]
Atom opens test2.txt in new tab and doesn't gain focus
Reproduces how often: [What percentage of the time does it reproduce?]
Always
Versions
Atom    : 1.37.0
Electron: 2.0.18
Chrome  : 61.0.3163.100
Node    : 8.9.3
OS    : Windows 10 x64
Related issues do not appear to be focused (excuse the pun) on this specific consistent behavior: #6201 #18610

Related issues do not appear to be focused (excuse the pun) on this specific consistent behavior: #6201 #18610

There's a number of open issues so some things haven't been prioritized unfortunately (though the team is always willing to review well-written pull requests).  Since #6201 is still open we'll close in favor of that issue.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


GeoLocator GetPositionAsync fails on iOS 9 in 4.0.0-beta1 without background location

Please take a moment to fill out the following (change to preview to check or place x in []):
This is a

[x] Bug
[ ] Feature Request

Which plugin does this impact:

[ ] Battery
[ ] Connectivity
[ ] Contacts
[ ] DeviceInfo
[ ] ExternalMaps
[x] Geolocator
[ ] Media
[ ] Permissions
[ ] Settings
[ ] Text To Speech
[ ] Vibrate
Other:

Version Number of Plugin: 4.0.0-beta1
Device Tested On: n/a
Simulator Tested On: iOS 9 simulator
Expected Behavior
GetPositionAsync returns a position.
Actual Behavior
Platform exception thrown: NSInternalInconsistencyException: 'Invalid parameter not satisfying: !stayUp || CLClientIsBackgroundable(internal->fClient)'
Steps to reproduce the Behavior
Create a simple test app with LocationWhenInUseUsageDescription and without the "Location Updates" Background Mode.
This is a regression from 3.0.4.
Commit 799665bff39ce4e51ed786ee43efbd20e97f7983 made a change to GetPositionAsync for iOS 9 to "always permit background updates since we're only listening for a single update." However, the Apple documentation for allowsBackgroundLocationUpdates states that "Setting the value to YES but omitting the UIBackgroundModes key and location value in your app’s Info.plist file is a programmer error."
(hence the exception)
Enabling background location in the Info.plist "fixes" the problem, however it should not be necessary for an app that does not actually require that capability (and my understanding is that Apple will reject apps that enable those properties unnecessarily).

Good find, we will need to cover this in the mass refactoring.
We only enabled this for StartListening @MatthewGerber  we need to handle this

Yes good find. Will fix. Thanks.

I am curious if we can detect it without having to send in a parameter and
set it automatically.
On Thu, Mar 17, 2016 at 9:09 PM, Matthew Gerber<EMAIL_ADDRESS>wrote:

Yes good find. Will fix. Thanks.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/jamesmontemagno/Xamarin.Plugins/issues/246#issuecomment-198150317

--
James Montemagno
http://www.montemagno.com
@jamesmontemagno http://www.twitter.com/jamesmontemagno

Can we read the plist?
On Mar 17, 2016 9:44 PM, "James Montemagno"<EMAIL_ADDRESS>wrote:

I am curious if we can detect it without having to send in a parameter and
set it automatically.
On Thu, Mar 17, 2016 at 9:09 PM, Matthew Gerber<EMAIL_ADDRESS>wrote:

Yes good find. Will fix. Thanks.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
<
https://github.com/jamesmontemagno/Xamarin.Plugins/issues/246#issuecomment-198150317

--
James Montemagno
http://www.montemagno.com
@jamesmontemagno http://www.twitter.com/jamesmontemagno
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/jamesmontemagno/Xamarin.Plugins/issues/246#issuecomment-198158646

@jamesmontemagno Did you test the plist reading code that I added in 80e13e6? It seems to work in the latest NuGet, but I wasn't able to actually test those particular lines of code on my machine prior to committing them.


[19.03] builder-next: avoid double unmounting mountable

backport https://github.com/moby/moby/pull/39754
Signed-off-by: Tonis Tiigi<EMAIL_ADDRESS>(cherry picked from commit 9ea2cf320ad2687a51aea1ed849f86f465cbc1d9)

Argh...  the swagger validation randomness


removes csv from requirements.txt

breaks the pip install on python versions including csv.

Thanks, this is now fixed.


how to create a promotion in a store?

say please: how to create a promotion in a store

in Static/Shop.json


libreprl: extract macro-like functions

The status check "macro" functions are meant to simply encode the bit operations
required for checking the exit code.  There is no value for them to be
out-of-line, they can be fully inlined.  By placing them in the header, this can
be fully internalized into the Swift module as well.

Nice, thanks!


How add this project to Visual Studio?

I try open this project, but vs show me that project is unavalaible

Which project are you trying to load? Into which version of Visual Studio?

@Radzhab can't you just download the repo and open up the src for the libraries?  Such as: https://github.com/google/google-api-dotnet-client/tree/master/Src/Support
That said, you may need to make sure the path is correct in the SLN.

@Radzhab I just downloaded the repo from the main page, right clicked the zip and trusted the zip, extracted the zip to a directory then went into src/support/ and opened GoogleApisClient.sln and:

@Radzhab when it comes to building, that's an entirely different story:
First: Nuget Restore Problems

you need to add .NET core support
there's a missing directory and/or misconfiguration in the nuget config file - you'll need to either change the nuget config directory OR you can create a local directory called ".\NuPkgs\Support" - example if your path is C:\repos\google-api-dotnet-client-master.  Create a new directory such that you have the file path: c:\repos\google-api-dotnet-client-master\NuPkgs\Support.
once you have the NuPkgs\support folder visual studio can attempt a nuget package restore and successfully build

For whatever reason it took me a while to troubleshoot and figure out the problem was a bad nuget config - but nuget restore is working now.
Second: Build issues due to a missing dependency/reference from Google.Apis to Google.Apis.Core
You'll get a ton of Google.Apis.Logging is not found or Google.Apis.Json is not found to resolve:

Restore nuget packages (above)
Successfully build Google.Apis.Core
Add a reference (for example) from Google.Apis from that project to the Google.Api.Core project

Third: Build issues due to a missing dependency/reference from various other projects to Google.Apis.Core
You'll get a ton of Google.Apis.Logging is not found or Google.Apis.Json is not found to resolve:

Restore nuget packages (above)
Successfully build Google.Apis.Core
Add a reference (for example) from various tests and projects to the Google.Api.Core project

Good luck!

@seanmcne Thanks for documenting these build issues.
Issue 1 (nuget restore problems) I'm aware of. It's unfortunate. You'll see in the build scripts the directory is created before the build starts.
Issues two and three I'm surprised to see. We run BuildSupport.sh and BuildGenerated.sh daily and don't have any problems.

Seems that the only way to get this to work is to create the Directory NuPkgs\Support as mentioned by @seanmcne . Apologies for my ignorance here but @chrisdunelm why aren't the build scripts running or why isn't the directory being created. Is there an alternative build method that I'm not aware of or is a build in VS meant to trigger it?


Add serializer and validators

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.75%. Comparing base (244c7d7) to head (e06cc50).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #128      +/-   ##
==========================================
+ Coverage   96.74%   99.75%   +3.01%
==========================================
  Files          17       15       -2
  Lines        2087     1614     -473
==========================================
- Hits         2019     1610     -409
+ Misses         49        4      -45
+ Partials       19        0      -19

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Use mlocate db on $HOME and up

find is too slow for looking into / or $HOME
Using locate can't fully replace find as it may lead to cache inconsistencies, but it'll provide a nice speedup when you don't know where to cd to narrow your search space (and also when you are being lazy)

@Dietr1ch sorry I took a while to reply. I actually don't use find myself - I customize the command to use rg via FZF_FIND_FILE_COMMAND:
set -U FZF_FIND_FILE_COMMAND "rg --files" is what I use, for example. Feel free to set that to mlocate if you see fit.

@Dietr1ch I'm actually write it like this:
function __fzf_locate --description "Search using locate command with fzf"
    set -q FZF_LOCATE_COMMAND
    or set -l FZF_LOCATE_COMMAND "command locate /"
    fish -c "$FZF_LOCATE_COMMAND" | eval "__fzfcmd -m $FZF_DEFAULT_OPTS $FZF_LOCATE_OPTS" | while read -l s; set selects $selects $s; end
    for select in $selects
        commandline -it -- "\"$select\""
        commandline -it -- " "
    end
    commandline -f repaint
end
and $FZF_LOCATE_OPTS looks like this:
--preview 'rougify {} 2>/dev/null' --header-lines=1 --preview-window hidden --bind '?:toggle-preview' --history='/home/efforia/.cache/FZF_history'
Hope it helps.

I'm already using FZF_FIND_FILE_COMMAND to use mlocate and use relative
paths, but I meant to discuss whether having it use mlocate and find
depending on the current directory would be a better default.
Using find on home is slow, and using mlocate inside a code repo or other
quickly changing directory gets stale data.
I'm not completely sure which one to make a default, and which directories
need the other. Also I haven't thought about what should happen on remote
directories like nfs or sshfs mounts.
On Sep 1, 2017 04:27, "EfforiaKnight"<EMAIL_ADDRESS>wrote:
@Dietr1ch https://github.com/dietr1ch I'm actually write it like this:
function __fzf_locate --description "Search using locate command with fzf"
set -q FZF_LOCATE_COMMAND
or set -l FZF_LOCATE_COMMAND "command locate /"
fish -c "$FZF_LOCATE_COMMAND" | eval "__fzfcmd -m $FZF_DEFAULT_OPTS
$FZF_LOCATE_OPTS" | while read -l s; set selects $selects $s; end
for select in $selects
commandline -it -- ""$select""
commandline -it -- " "
end
commandline -f repaint
end
and $FZF_LOCATE_OPTS looks like this:
--preview 'rougify {} 2>/dev/null' --header-lines=1 --preview-window hidden
--bind '?:toggle-preview' --history='/home/efforia/.cache/FZF_history'
Hope it helps.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fisherman/fzf/issues/47#issuecomment-326557292, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB_90ueKMJSXiIERHzXUa_NbzoyvHpwLks5sd-oygaJpZM4O1iAT
.

I see. So like @jethrokuan said you can use rg. I personally use the_silver_searcher aka ag.

I'm inclined to leave find as the default, because find is universal, while locate is not: not all distros come with locate by default, and when they do, perhaps in different flavours like mlocate.


Only compute BMF for PoS

#1349  👈
feature/proof-of-stake

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

Join @lazynina and the rest of your teammates on  Graphite


Add copy/paste/clone buttons

It might be good to add buttons for copying/pasting/cloning all selected blocks. For Neo fields, this can use Neo's inbuilt copying/pasting/cloning functionality, while support for Matrix fields would likely involve integration with Smith.

Batch Actions 1.2.0 has just been released with the copy/paste buttons - for Neo, this requires Neo 3.4.0+, and for Matrix, this requires Smith to also be installed.
A clone button hasn't been included, because it seemed unlikely to be that useful when I rethought it, and I thought that using the copy/paste buttons would suffice if anyone did want to clone all blocks. If anyone who sees this disagrees, please feel free to open a new feature request for it 🙂

Thanks for this!  It's working here.
The only thing I noticed is that the "Paste" option doesn't respect Neo block limits.  e.g. If Neo field supports only 1 top level block, you can Paste as many as you'd like.  Back-end validation kicks in though so it's not a huge issue.  I don't know if it matters much but sharing in case it's trivial.

Thanks for sharing that @ccchapman - should be fixed now in 1.2.2.


Bugfix: grep -q exits with code 0 even if an error occured, switched to -s

However if you decide to keep the ping in the default output we should change the test further to include it:
from $'^Using server: .*\nDownload speed: [0-9.]+ (bps|Kbps|Mbps|Gbps)\nUpload speed: [0-9.]+ (bps|Kbps|Mbps|Gbps)$'
to $'^Using server: .*\nPing: [0-9.] ms\nDownload speed: [0-9.]+ (bps|Kbps|Mbps|Gbps)\nUpload speed: [0-9.]+ (bps|Kbps|Mbps|Gbps)$'

I'm not really intimately familiar with grep's -s option but I don't think it does anything here. I think it's purpose is just for suppressing errors like the following:
grep pattern non_existent_file

grep: non_existent_file: No such file or directory

Just as a brief experiment, (echo pattern; exit 1) | grep -q pattern and (echo pattern; exit 1) | grep -s pattern both exit with a return status of 0. grep is just checking pattern, not the exit status of the command that's feeding it.
If we care about the exit status of commands in a pipeline, we want to use Bash's pipefail option. I submitted a PR #9 to address this and a few other issues.

I apologise, you are right about grep -s.
The problem that I was trying to address about grep -q is this one:

-q
--quiet
--silent
Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected. Also see the -s or --no-messages option. (-q is specified by POSIX.)

but now I think I misunderstood the meaning of the bold sentence.
However I will go with your solutions in PR #9 so both this and PR #6 can be closed.


chore: Update capsize dependencies

Upgrades both the Capsize metrics and unpack packages to the latest versions.
Includes a slight internal refactor to decouple from the shape of metrics internally from the unpack package. So snapshot tests should be more stable when upgrading.

Not sure about the above alert as that dependency has not changed as part of the PR. Happy to discuss though.


copy and paste ready log example

I think its easier for users when they can just copy/paste the logging code, so here is a minimum working example to log to the console

@tilmanb thanks :)


Fix the ticker frequency

The ticker doesn't seem to be quite right yet. At 512 Hz the uptime counter is slightly too quick, while higher frequencies tick increasingly slowly. Presumably the maths in time::set_ticker_frequency is slightly off, but it seems to emulate both of the following guides correctly:

https://wiki.osdev.org/Programmable_Interval_Timer
http://kernelx.weebly.com/programmable-interval-timer.html

Closed by the rewrite to Go. May re-emerge later on.

Closed by the rewrite to Go. May re-emerge later on.


Add role with permissions needed to deploy

This creates an IAM role with all of the permissions required to run the deployment and adds the default service account to the role if the user doesn't supply one themselves.
Also added a 30s sleep after the transfer config is submitted, as the rest of the deploy can't happen unless the summary table is there and that seems to be taking longer than before.

I also ran the code though yapf with the google setting for formatting.

Also fixes #3


Bulk updates requires a lot of studdering

Problem: If one has to set a lot of variables in many files (for example, using each()), you have to repeat yourself a lot.
For example, this is the cleanest I've been able to write for setting many variables.
  Shellvar {
    ensure => present,
    target => $ifile,
  }

  shellvar { "${name} DEVICE": variable => 'DEVICE', value  => $name}
  shellvar { "${name} NAME": variable => 'NAME', value  => $name}
  shellvar { "${name} HWADDR": variable => 'HWADDR', value => $hwaddress}
  shellvar { "${name} TEAM_MASTER": variable => 'TEAM_MASTER', value => $team_master}
  shellvar { "${name} DEVICETYPE": variable => 'DEVICETYPE', value  => 'TeamPort'}
  shellvar { "${name} ONBOOT": variable => "TYPE", value => 'yes'}
  shellvar { "${name} TYPE": variable => 'TYPE', value => 'Ethernet'}
  shellvar { "${name} NM_CONTROLLED": value => 'NM_CONTROLLED', variable => 'no'}

There are a few problems with this:

The namevar repeats the variable name, which is error prone. They may get out of sync.
Specifying variable => and value => again and again is very verbose. It hides meaning.
It is slow. Each one of these will require starting up augeas, parsing the file, etc.
You didn't notice that "ONBOOT" sets the wrong variable, or that NM_CONTROLLED reversed the value and the variable.

Proposed Solution: For mass updates, it would be more natural to have a function that takes a filename and a list of settings:
  shellvar_bulk( $ifile, [
          "DEVICE=$name",
          "NAME=$name",
          "HWADDR=$hwaddress",
          "TEAM_MASTER=$TEAM_MASTER",
          'DEVICETYPE=TeamPort',
          'ONBOOT=yes',
          'TYPE=Ethernet',
          'NM_CONTROLLED=no',
     ])

That could be interesting indeed. Do you want to provide a PR with such a shellvar::bulk wrapping definition?

I would but... sadly I don't think I know enough Ruby to add a function that does that.  If I did it as a define() then it wouldn't have the performance benefit.

I was actually thinking of a DSL define. How would you expect to see performance benefit?

On the performance issue: since puppet 3.4, augeasproviders use a shared Augeas handler for all resources. Hence, Augeas is only started once, and only parses target files twice as most (one read to fill the tree, a second read to calculate the diff if changes were made, and one write to flush changes if any). All you need is to use puppet 3.4+. The only overhead to using separate resources currently is stuff done entirely in memory, so the gain wouldn't be great.

Oh, so the optimization is already in there. That's awesome!
I'll see if I can work up a DSL define.

Actually, the lib still saves the Augeas tree once per modified resource (vs once per modified property). I don't think it would be good to change this though, as that would mean that if a resource produces an invalid tree, all resources of that file will fail to apply.


Board boots Debian with cm4 io board dtb

I just thought I would try putting a module in that I had in the cm4 board.
It boots just fine in Debian and I can see the NVME too.
Just thought I would let you know.
Also, I'm just realzing, there is no way to hook up a serial device to this for debugging??

I have successfully booted the Manjaro image from Friday and I saw the NVMe too at that point. I wasn't able to move the root partition to the NVMe though, even after putting the PCIe module into extlinux.conf though.
What also still doesn't work (at least for me with that image) is rebooting the board. I need to force it off by press and holding the power button on the board and press again to start normal boot, which is sort of a deal breaker for me, given that I really don't want to kill power to all 6 modules.
By cm4 board, do you mean the official cm4io board? Do you have an eMMC chip on your module? Because on that I'm currently struggling with the SD card to be recognized.
And yes, no UART on for any of the 6 modules is quite the oversight IMHO..
Just to make sure, we are talking about the soquartz module here, right? If so, could you please link that Debian image here so I can test that and have another DT to compare to what we have now?

@tcdude I manually built the debian, I think I can probably reboot just fine. I'm working right now so can't test until later. I have my image on the emmc, I haven't tried SD.
I will try all this later and update you, also I'll make an image, I'm using partuuid in the extlinux.conf so it boots of sd or emmc and yes I'm referring to the soaqartz board and the dts for the soquartz with cm4-io board.

Just ran out of time, that nasty work again!
This should do you for now though: https://www.t95plus.com/forums/downloads/armbian-bullesye-soquartz-cm4-io.img.gz
It should boot off sd or emmc.
At the moment if you have multiple modules you will need to set the macs or they will all be duplicate, I'm working on this., for now edit:
/lib/systemd/network/99-default.link
Make it look similar, I am using the board number as the last digit, eg, this one is 3
SPDX-License-Identifier: LGPL-2.1-or-later

This file is part of systemd.

systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
[Match]
OriginalName=*
[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path
MACAddressPolicy=none
MACAddress=22:86:a9:64:ec:03

I have no idea why but it took a couple of reboots to get all 4 nvme showing, they got there in the end, two came up first time with it, two without, all good now thoug:
root@soquartz-4:~# lspci
00:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd Device 3566 (rev 01)
01:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. Device 500f (rev 03)

I'm unable to boot that image from the SD card.. from the serial output I get it looks like a similar problem that I encountered with the Manjaro image..
I ordered eMMC for testing, but that could still take a while until I get those. In the mean time I'm trying to figure out why the cm4io board doesn't like being booted from SD card...

I haven't tried it with SD card on the super6c only emmc. It works fine with that, I have 4 running now and have reflashed them multiple times
Is this the official cm4io board you are using? I have 100% booted this image on there from SD?

From u-boot interrupt it with ctrl-c or whatever
You should be able to do something like mmc list to get a list of sd/emmc etc
This is from memory as I'm not home right now.
Then select your device with mmc dev X where X is device number
Then mmc part should give you a list of partitions...
Regardless, you want to boot pn that image from partition 4 so you can try
sysboot mmc 0:4 any 0x8000 /boot/extlinux/extlinux.conf
or
sysboot mmc 1:4 any 0x8000 /boot/extlinux/extlinux.conf
That any an 0x8000 may be the wrong way round, just type sysboot on its own, it will give you a syntax example.
I would expect one of those two commands to boot it.

I haven't tried it with SD card on the super6c only emmc. It works fine with that, I have 4 running now and have reflashed them multiple times
Is this the official cm4io board you are using? I have 100% booted this image on there from SD?

On the super6c I had no troubles with booting from SD.. this only happens on the official cm4io board...
I'm currently trying all my SD cards I have to rule out broken/bugged cards. I will also try to interrupt u-boot and give sysboot a try.

I'm away for a week now but 100% that image booted from SD on the official cm4 io board

So it did boot after trying out 4 other SD cards I finally landed on one that worked. Strange that I either have a bunch of bad SD cards or the board is really picky in that regard. Anyways, thanks a bunch.
With your image I can now also reboot the module w/o problem and I saw the NVMe drive every boot so far.
Could you maybe give some more information about the kernel config, dts, patches you used/applied to build this image once you get back?

I'm not new to SBCs but I'm new to CM4...have you ruled out power issues? SBCs tend not to read NVMe when they don't have enough power (usually caused by deficient power bricks or low-quality USB cables), just curious if it works the same way with these.

I think I can safely rule out power issues on my side in terms of power brick and cable. Both the CM4IO and the Super6C get their power through a barrel jack and the power bricks I've used deliver more than enough power than a single module plus an NVMe could draw even at peak.
Also, I haven't had any problems with the NVMe drive after getting @PBXForums image to run. The main issue that remains, for me at least is the SD card, where I've only managed to boot with 2 out of 11 cards I tested so far.

These are the exact brand I have been using without issue.
https://www.amazon.co.uk/gp/product/B08GY9NYRM
With regards to power, I have four soquartz in my Super6c with 4 NVME, all poodling along quite nicely now.

This is great progress, thanks all! I'll be looking at this again tonight and see what I can coax out of the bootloader trying to boot my custom image. I suspect it's a boot image modification issue that'll be fixed once I convince the build recipe to use the soquartz-super6c dts instead of the soquartz-cm4 as it does by default. Any manual changes to extlinux.conf on the emmc seems to immediately cause the device to not boot. Reflashing to a saved (.img on my mac) version that uses the soquartz-cm4 version boots just fine. I'll double check the config tonight, rebuild with this as the default option, and see where I end up.

Yeah my attempts failed. Now got hold of an RPi CM4 lite but that's not booting either. Ordered a CM4 IO board to work on that. Once booting there I'll transfer to the Super6C, complete the new DTS work using PiOS, then take that now-working DTS and get a Manjaro full build working with it. That's the current plan anyway.

Just managed to get the balbes150 ubuntu current image working.
It wasn't straightforward but they will probably be much better images, more to follow:
root@quartz64a:~# uname -a
Linux quartz64a 5.19.7-station-p2 #trunk SMP PREEMPT Mon Sep 5 13:11:27 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
root@quartz64a:~# cat /etc/issue
Armbian 22.11.0-trunk Jammy \l

This image should be much better, I have tested on emmc and sdcard on cm4 io board only. No reason to thing it won't work on super6c
Its the balbes150 image just with a different u-boot and dtb
Boot up you module, give it a couple of minutes to resize sdcard/emmc and then find its IP
Log in via SSH root/1234 and it will take you through the armbian first boot process.
https://www.t95plus.com/forums/downloads/Armbian_22.11.0-trunk_soquartz_jammy_current_5.19.7.img.gz

USB works on the Super6C with that latest version I just posted above. The DTB was updated last night.

Using the above image will boot on most boards.

does hdmi or a csi display work with this image ?

This image should be much better, I have tested on emmc and sdcard on cm4 io board only. No reason to thing it won't work on super6c
Its the balbes150 image just with a different u-boot and dtb
Boot up you module, give it a couple of minutes to resize sdcard/emmc and then find its IP
Log in via SSH root/1234 and it will take you through the armbian first boot process.
https://www.t95plus.com/forums/downloads/Armbian_22.11.0-trunk_soquartz_jammy_current_5.19.7.img.gz

I cannot seem to get HMDI working on this with a BigtreeTech PAD 5. Also anyone get a DSI screen working?

https://www.t95plus.com/forums/downloads/Armbian_22.11.0-trunk_soquartz_jammy_current_5.19.7.img.gz

Do you know how one would modify the rk3566-quartz64-a.dtb referenced in extlinux.conf?

@jaymcd were you able to meaningfully modify the dtb at all?  This image is referenced from the SOQuartz wiki but I can't find sources anywhere.  Manjaro won't boot off of SD at the moment.

Anyone?

@ndmgrphc
I played around with the dtb to try and get the SD card working. I was successful with a tiny subset of all the SD cards I had available but no change to the device tree would enable me to use all cards I have.
I gave up for now and got eMMC modules to use as boot drive instead, which work reliably.
Sorry, got no better news than that for now...


#18172 fix table DDL generation for Clickhouse

Using quotes (escaping) for non-English table name #18172
Old command for table DDL generation:
show create table `default`.тест

New command for table DDL generation:
show create table `default`.`тест`

I'd correct the comment for this method as it's not fully actual as we quote something here not only for JSQL parser for now.

verified


Used some more variables to help with white labeling

Preparing for white-labeling the application in the paranext repo. Added localized string, used some color variables, etc.

This change is

src/renderer/index.ejs line 1 at r1 (raw file):
Previously, irahopkinson (Ira Hopkinson) wrote…
NIT I wouldn't change the casing of this as I think it's important for HTML (but I could be wrong). I think you might have run prettier to do this but it is not recognizing this as HTML because it's an .ejs file. We could potentially fix out prettier setup.

Actually I just looked it up and it seems like this is case-insensitive: https://html.spec.whatwg.org/multipage/syntax.html#the-doctype


making quick pr

Overview

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: [ABC-123]
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] This PR includes testing instructions tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Don't make me tap the sign.
PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

📬Published Alpha Packages:eslint-plugin-gamut@2.2.1-alpha.71194f.0@codecademy/gamut@57.5.3-alpha.71194f.0@codecademy/gamut-icons@9.34.2-alpha.71194f.0@codecademy/gamut-illustrations@0.49.3-alpha.71194f.0@codecademy/gamut-kit@0.6.456-alpha.71194f.0@codecademy/gamut-patterns@0.9.18-alpha.71194f.0@codecademy/gamut-styles@17.1.3-alpha.71194f.0@codecademy/gamut-tests@5.1.5-alpha.71194f.0@codecademy/macros@3.0.5-alpha.71194f.0@codecademy/styleguide@68.1.4-alpha.71194f.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://675368a805260917dc193135--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:eslint-plugin-gamut@2.2.1-alpha.209431.0@codecademy/gamut@57.5.3-alpha.209431.0@codecademy/gamut-icons@9.34.2-alpha.209431.0@codecademy/gamut-illustrations@0.49.3-alpha.209431.0@codecademy/gamut-kit@0.6.456-alpha.209431.0@codecademy/gamut-patterns@0.9.18-alpha.209431.0@codecademy/gamut-styles@17.1.3-alpha.209431.0@codecademy/gamut-tests@5.1.5-alpha.209431.0@codecademy/macros@3.0.5-alpha.209431.0@codecademy/styleguide@68.1.4-alpha.209431.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6759f0cd955faa131d003fb7--gamut-preview.netlify.appDeploy Logs


Add harmful study

This shows the malware warning survey for "harmful software" warnings.
Fixes #261

Lgtm


[FIREBASE_ADMOB] Unity Ad Mediation

I have impletemented Admob ads without issues using FIREBASE_ADMOB however I now would like to add some other ad sources to my mediation group. I'm not sure if firebase_admob can handle this.
I've followed the instructions from this page (https://developers.google.com/admob/android/mediation/unity)
and everything appears to be setup. Although on Admob side it still shows "Optimizing" after over 3 days for both my Unity Interstitial and Banner ad.
I could not remove "Admob Network" from the mediation group so I just set the CPM to $1000.00 for testing while the Unity ads are set to optimized.
Also in order for Admob to accept the api key I need to use the "Applifier Stats API (deprecated)"  key from unity and not the "Monetization Stats API Access" key as this was giving me an error when I used this on Admob side.
I've added the Unity SDK and Unity AAR files into my Flutter project manually. Added this to my build.gradle file
dependencies {
compile files('libs/unity-<IP_ADDRESS>.aar')
compile files('libs/unity-ads-3.4.2.aar')
}
and adding the aar files into my app/libs folder in my project.
I am using the firebase_admob to request ads.
I am not getting any Unity Ads. It continues to default to Admob Ads.
I have tried on the Unity side to default to all TEST ads and tried all REAL ads. Still receiving only Admob ads.
I have not tried the Mediation Test Suite. I am not sure how to use that within my Flutter project.

I have same problem. I test to ads on Mediation test suit its work.
In test suite
SDK - Found
Adapter - Found
Adapter Initialzation Status - Not Ready

Did you solve this problem ?

The firebase_admob plugin will be deprecated in April 2021 in favor of Google Mobile Ads SDK for Flutter.
Google Mobile Ads SDK for Flutter is a new Flutter plugin that supports more Ads formats than firebase_admob does. Google Mobile Ads SDK for Flutter currently supports loading and displaying banner, interstitial (full-screen), native ads, and rewarded video ads across AdMob and AdManager. It also supports displaying banner and native ads as Widgets as opposed to being overlayed over all app content.
We're now recommending projects currently using firebase_admob migrate to Google Mobile Ads SDK for Flutter following the instructions outlined here.
Issues with migrating or with using the new package should now be raised over on the Google Mobile Ads SDK for Flutter repository.


Running Kimera-VIO in Gazebo or on simulated data?

Since I noticed that one of the sample datasets for Kimera-Semantics is simulated, I was wondering if the authors (or others) have previously run Kimera-VIO in Gazebo, or other simulated environments. If so, any tips or advice for setting up the simulation and generating suitable artificial data would be greatly appreciated!
In particular, I am currently stuck on a QueueSynchronizer error when I try to run Kimera-VIO "online" as my simulated cameras are not publishing synchronized frames.
F1130 15:19:51.386656 10433 QueueSynchronizer.h:138] Check failed: timestamp == payload_timestamp<PHONE_NUMBER> vs.<PHONE_NUMBER>) Syncing queue data_provider_right_frame_queue in module Data Provider failed;

Interestingly, if I save a rosbag of the same simulated camera trajectory, I don't run into this issue, but I do get warnings regarding:
W1130 18:06:35.835642 18957 Mesher.cpp:1380] Missing landmark information to build 3D Mesh.

and
W1130 18:06:35.932917 18955 Tracker.cpp:578] 1-point RANSAC (voting) could not find a solution.

Presumably my simulated environment needs richer texture (image below for reference of what I'm currently working with)? Will having a small (~1ms) time delay between the left and right IR cameras have a noticeable impact on performance for relatively slow trajectories? Does anyone have any suggestions for generating synchronized images and IMU data?

Thanks again for the great library, and thanks in advance to anyone that has any tips!

hi @shonigmann ,
have you found any way to connect kimera with Gazebo?
kindly let me know


Exclude fastlane by default

It's legal to write Fastfiles in Swift. Muter should exclude the fastlane folder by default.

Thanks for the suggestion @ZevEisenberg . This is a pretty straightforward addition and is prioritized for the next release.

Added. Thanks again for the suggestion @ZevEisenberg!


modals callout

currently, there's no way to create a "dynamic" modal - it needs to be present on the page and identified by element's ID
why not use (or create) a service that generates dynamic modals? potentially, a lot of elements won't be present in the DOM, until really needed.

also, a better support for animations is in order (currently there's a flickering bug - call out a modal and then click several times next to it rapidly, within 3s - this number sounds familiar :wink: )

Good idea on that. There's somewhat of a rift between the element usage since we want to support both developers that don't know Angular well but want to use the more dynamic features like modals, notifications, etc. and developers that already know Angular want more power-user features.
Features for the latter type of a user are definitely lacking because, as you said, pretty much all the components should have services that create them and don't require in-template directives. If I have time, I'll go ahead and prototype a modal service that we can also port to other components.

Modal factory is now available in the code under, you guessed it, ModalFactory