[SPARK-23303][SQL] improve the explain result for data source v2 relations

What changes were proposed in this pull request?
The proposed explain format:
[streaming header] [RelationV2/ScanV2] [data source name] [output] [pushed filters] [options]
streaming header: if it's a streaming relation, put a "Streaming" at the beginning.
RelationV2/ScanV2: if it's a logical plan, put a "RelationV2", else, put a "ScanV2"
data source name: the simple class name of the data source implementation
output: a string of the plan output attributes
pushed filters: a string of all the filters that have been pushed to this data source
options: all the options to create the data source reader.
The current explain result for data source v2 relation is unreadable:
== Parsed Logical Plan ==
'Filter ('i > 6)
+- AnalysisBarrier
      +- Project [j#1]
         +- DataSourceV2Relation [i#0, j#1], org.apache.spark.sql.sources.v2.AdvancedDataSourceV2$Reader@3b415940

== Analyzed Logical Plan ==
j: int
Project [j#1]
+- Filter (i#0 > 6)
   +- Project [j#1, i#0]
      +- DataSourceV2Relation [i#0, j#1], org.apache.spark.sql.sources.v2.AdvancedDataSourceV2$Reader@3b415940

== Optimized Logical Plan ==
Project [j#1]
+- Filter isnotnull(i#0)
   +- DataSourceV2Relation [i#0, j#1], org.apache.spark.sql.sources.v2.AdvancedDataSourceV2$Reader@3b415940

== Physical Plan ==
*(1) Project [j#1]
+- *(1) Filter isnotnull(i#0)
   +- *(1) DataSourceV2Scan [i#0, j#1], org.apache.spark.sql.sources.v2.AdvancedDataSourceV2$Reader@3b415940

after this PR
== Parsed Logical Plan ==
'Project [unresolvedalias('j, None)]
+- AnalysisBarrier
      +- RelationV2 AdvancedDataSourceV2[i#0, j#1]

== Analyzed Logical Plan ==
j: int
Project [j#1]
+- RelationV2 AdvancedDataSourceV2[i#0, j#1]

== Optimized Logical Plan ==
RelationV2 AdvancedDataSourceV2[j#1]

== Physical Plan ==
*(1) ScanV2 AdvancedDataSourceV2[j#1]

== Analyzed Logical Plan ==
i: int, j: int
Filter (i#88 > 3)
+- RelationV2 JavaAdvancedDataSourceV2[i#88, j#89]

== Optimized Logical Plan ==
Filter isnotnull(i#88)
+- RelationV2 JavaAdvancedDataSourceV2[i#88, j#89] (Pushed Filters: [GreaterThan(i,3)])

== Physical Plan ==
*(1) Filter isnotnull(i#88)
+- *(1) ScanV2 JavaAdvancedDataSourceV2[i#88, j#89] (Pushed Filters: [GreaterThan(i,3)])

an example for streaming query
== Parsed Logical Plan ==
Aggregate [value#6], [value#6, count(1) AS count(1)#11L]
+- SerializeFromObject [staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, input[0, java.lang.String, true], true, false) AS value#6]
   +- MapElements <function1>, class java.lang.String, [StructField(value,StringType,true)], obj#5: java.lang.String
      +- DeserializeToObject cast(value#25 as string).toString, obj#4: java.lang.String
         +- Streaming RelationV2 MemoryStreamDataSource[value#25]

== Analyzed Logical Plan ==
value: string, count(1): bigint
Aggregate [value#6], [value#6, count(1) AS count(1)#11L]
+- SerializeFromObject [staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, input[0, java.lang.String, true], true, false) AS value#6]
   +- MapElements <function1>, class java.lang.String, [StructField(value,StringType,true)], obj#5: java.lang.String
      +- DeserializeToObject cast(value#25 as string).toString, obj#4: java.lang.String
         +- Streaming RelationV2 MemoryStreamDataSource[value#25]

== Optimized Logical Plan ==
Aggregate [value#6], [value#6, count(1) AS count(1)#11L]
+- SerializeFromObject [staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, input[0, java.lang.String, true], true, false) AS value#6]
   +- MapElements <function1>, class java.lang.String, [StructField(value,StringType,true)], obj#5: java.lang.String
      +- DeserializeToObject value#25.toString, obj#4: java.lang.String
         +- Streaming RelationV2 MemoryStreamDataSource[value#25]

== Physical Plan ==
*(4) HashAggregate(keys=[value#6], functions=[count(1)], output=[value#6, count(1)#11L])
+- StateStoreSave [value#6], state info [ checkpoint = *********(redacted)/cloud/dev/spark/target/tmp/temporary-549f264b-2531-4fcb-a52f-433c77347c12/state, runId = f84d9da9-2f8c-45c1-9ea1-70791be684de, opId = 0, ver = 0, numPartitions = 5], Complete, 0
   +- *(3) HashAggregate(keys=[value#6], functions=[merge_count(1)], output=[value#6, count#16L])
      +- StateStoreRestore [value#6], state info [ checkpoint = *********(redacted)/cloud/dev/spark/target/tmp/temporary-549f264b-2531-4fcb-a52f-433c77347c12/state, runId = f84d9da9-2f8c-45c1-9ea1-70791be684de, opId = 0, ver = 0, numPartitions = 5]
         +- *(2) HashAggregate(keys=[value#6], functions=[merge_count(1)], output=[value#6, count#16L])
            +- Exchange hashpartitioning(value#6, 5)
               +- *(1) HashAggregate(keys=[value#6], functions=[partial_count(1)], output=[value#6, count#16L])
                  +- *(1) SerializeFromObject [staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, input[0, java.lang.String, true], true, false) AS value#6]
                     +- *(1) MapElements <function1>, obj#5: java.lang.String
                        +- *(1) DeserializeToObject value#25.toString, obj#4: java.lang.String
                           +- *(1) ScanV2 MemoryStreamDataSource[value#25]

How was this patch tested?
N/A

Test build #87577 has started for PR 20647 at commit 138679e.

CC @tdas @gatorsmile @rdblue

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/980/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87577 has finished for PR 20647 at commit 138679e.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/981/
Test PASSed.

Test build #87578 has started for PR 20647 at commit e1f24a4.

Test build #87578 has finished for PR 20647 at commit e1f24a4.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/982/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87579 has started for PR 20647 at commit 9dd1986.

Test build #87579 has finished for PR 20647 at commit 9dd1986.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #87584 has started for PR 20647 at commit 9dd1986.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/985/
Test PASSed.

Test build #87584 has finished for PR 20647 at commit 9dd1986.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/989/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87588 has started for PR 20647 at commit a5171e6.

Test build #87588 has finished for PR 20647 at commit a5171e6.

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

Merged build finished. Test PASSed.

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

Test build #87624 has started for PR 20647 at commit dbee281.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1013/
Test PASSed.

Test build #87624 has finished for PR 20647 at commit dbee281.

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

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1021/
Test PASSed.

Test build #87634 has started for PR 20647 at commit fc29f8f.

Test build #87634 has finished for PR 20647 at commit fc29f8f.

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

Merged build finished. Test PASSed.

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

Thanks for removing the equality methods. This changes equality for the scan and streaming relation, though. Are those significant changes?
I still think this should not be committed until the style-only changes are rolled back. This is a significant source of headache for branch maintainers and contributors.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1025/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87640 has started for PR 20647 at commit a73370a.

This changes equality for the scan and streaming relation, though.

If we think this is the right equality for DataSourceV2Relation, it should also be the right equality for scan and streaming relation. They should be consistent.
I've rolled back unnecessary style-only changes, but leave the one that clean up unused imports. I think this should be encouraged, it's very hard to find out unused imports during code review, people should find and fix them while touching files in the PR, some IDE can even do it automatically when you save the file.

Test build #87640 has finished for PR 20647 at commit a73370a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #87643 has started for PR 20647 at commit a73370a.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1028/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87643 has finished for PR 20647 at commit a73370a.

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

Merged build finished. Test PASSed.

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

I've rolled back unnecessary style-only changes, but leave the one that clean up unused imports.

Sounds good. Thank you!

If we think this is the right equality for DataSourceV2Relation, it should also be the right equality for scan and streaming relation. They should be consistent.

I think it is closer to the right equality, but the change relies on the equality of the reader and not of the configuration for that reader. I think it should rely on the reader configuration and not the reader itself, which is unreliable. There is no requirement that a reader implements an equals method that is appropriate for use in planning and we use equals to determine whether rules have reached a fixed-point.
This is probably fine for the scan, but I think it isn't right for the streaming relation. Since it is more correct, lets go with it for this commit. If you don't mind, lets open a follow-up issue to get equality right. I'm happy to if you want.
Overall, I just had a couple more comments and then I think this is ready to go.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1080/
Test PASSed.

Test build #87692 has started for PR 20647 at commit 8c5b934.

Test build #87692 has finished for PR 20647 at commit 8c5b934.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1089/
Test PASSed.

Test build #87702 has started for PR 20647 at commit 8c5b934.

Test build #87702 has finished for PR 20647 at commit 8c5b934.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #87710 has started for PR 20647 at commit 8c5b934.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1096/
Test PASSed.

Test build #87710 has finished for PR 20647 at commit 8c5b934.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1102/
Test PASSed.

Test build #87718 has started for PR 20647 at commit 8c5b934.

Test build #87718 has finished for PR 20647 at commit 8c5b934.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1108/
Test PASSed.

Test build #87724 has started for PR 20647 at commit 8c5b934.

@cloud-fan, I found a couple new problems but otherwise this looks good. I see you rolled back the equality changes for the scan node and streaming relation. What is the JIRA issue to update v2 equality?

One more thing on matching the behavior of other nodes for the schema: since you agree that the scan nodes should report types, can you open an issue for it? I'm also fine adding it here instead of doing it later since it makes sense as part of these changes. It's up to you.

Test build #87724 has finished for PR 20647 at commit 8c5b934.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #87750 has started for PR 20647 at commit c5af52e.

Hi @rdblue , I've opened https://issues.apache.org/jira/browse/SPARK-23531 to include the type info. I'd like to do it later as it's a general problem in Spark SQL and many plans need to be updated like leaf nodes other than data source scan.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1127/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87750 has finished for PR 20647 at commit c5af52e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1136/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87762 has started for PR 20647 at commit c5af52e.

Test build #87762 has finished for PR 20647 at commit c5af52e.

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

Test build #87818 has started for PR 20647 at commit 6fe7681.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1178/
Test PASSed.

Test build #87818 has finished for PR 20647 at commit 6fe7681.

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

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

Merged build finished. Test PASSed.

Looks like there's an unnecessary redact call in there and I found a couple of nits, but I think this is ready to go.
+1

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1221/
Test PASSed.

Test build #87877 has started for PR 20647 at commit 1164eec.

Test build #87877 has finished for PR 20647 at commit 1164eec.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1294/
Test PASSed.

Test build #87981 has started for PR 20647 at commit 1a96d14.

Test build #87981 has finished for PR 20647 at commit 1a96d14.

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

Merged build finished. Test PASSed.

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

thanks, merging to master!


Bug: grammer does not understand templ receiver methods

I'm on the latest version.
Here is the addition of receiver methods in Templ https://github.com/a-h/templ/blob/e8f18b2fae1b2160869c1191ec3889332514a8e1/parser/v2/templateparser_test.go#L41

Yeah that's not implemented, I didn't realize this was possible. I'll look into it when I have some time.
I'd happily merge a PR too if you feel like implementing this :)

Fixed with https://github.com/vrischmann/tree-sitter-templ/commit/b5cda6f97ece862972a408e472b79d3cd735d93a


[question] Mapbox layer example, feature under mouse cursor

I'm trying to add forEachFeatureAtCoordinate capabilities to the mapbox ol/layer/Layer described in the example so that the integration with OL could be seamless between layers (instead of doing it via a local variable that I have to handle differently than calling map. getFeaturesAtPixel(...))
I've seen that render is overwritten by a constructor param, is it possible to overwrite any arbitrary function or is it limited to a few chosen ones?

Using render in the layer constructor is an adhoc API introduced in #9525 so no, you cannot freely overwrite other methods.
I guess it would make sense to have another API for querying features such as getFeaturesAtCoordinate. It was also considered to add support for a general getFeatures custom callback, this could be used for querying features both for rendering and for picking (the argument could be a bounding box in both cases). @ahocevar food for thought!
Thanks @pakb

@jahow The idea was that layers implement
getFeatures(Pixel): Promise<Array<Feature>>

and
hit(Pixel): boolean

The former for getting features at a location, and the latter just returning whether there is something to query at a specific location. I don't think it makes sense to have a bounding box as argument.

That could be a great addition.
I agree with you @ahocevar , usually you want to know what's under the mouse cursor, so something expressed in pixel coordinate seems more appropriate for this use case.
But then if you take one use case we have with our app, we allow users to select a bounding box on the map, and return all feature infos that are inside it (via a request on a backend). It could be useful to be able to query with an extent if we went full vector tiles and wanted to have metadata imbedded inside the PBF features.

The former for getting features at a location, and the latter just returning whether there is something to query at a specific location. I don't think it makes sense to have a bounding box as argument.

Well there can be a hit tolerance radius, but it's true that querying features for rendering and for picking will probably have different implementations anyway.

@pakb:

we allow users to select a bounding box on the map, and return all feature infos that are inside it (via a request on a backend)

With an ol/source/Vector, you can do that without a server request (assuming you have all features loaded).

It could be useful to be able to query with an extent if we went full vector tiles and wanted to have metadata imbedded inside the PBF features.

Not sure what you mean here exactly, but getting that metadata through a server request to a feature service would be the way to go here. Remember: vector tiles are for rendering, not for querying data.


Component dependencies

Hi, I'm trying to create a DaggerMockRule in my test class. My component has a dependency with an application component, so I get an RuntimeException when I run the test (IllegalStateException: applicationComponent must be set). Is there any way to specify a dependency in DaggerMockRule?

You can use .addComponentDependency(), a bit like this:
@Rule
public final DaggerMockRule<MyComponent> daggerMockRule =
            new DaggerMockRule<>(MyComponent.class, new MyModule())
                    .addComponentDependency(ApplicationComponent.class, new ApplicationModule(application))
                    .set(this);

How can I setup application for such case?
I know this is more question how to use android testing framework, but we have struggled with this problem fro 2 hours already. Because JUnit Rule is called before setUp method (where android test typically instantiate application object) your snippet doesn't work because of application == null.
If you use test like that and could share the full snippet with ApplicationModule depending on application context it would help a lot for adoption of the library imo. Since most of the DaggerModules on android require application context, because, well, its Android.

Are you using Roboelectric? If so use org.robolectric.RuntimeEnvironment.application.

Is there a solution for real android device tests? I know that it is a pain to use androidDeviceTest and is the main reason why people stick with Robolectric instead. But snippet from readme has espresso code:
 @Rule public DaggerMockRule<MyComponent> daggerRule = new DaggerMockRule<>(MyComponent.class, new MyModule())
            .set(new DaggerMockRule.ComponentSetter<MyComponent>() {
                @Override public void setComponent(MyComponent component) {
                    App app = (App) InstrumentationRegistry.getInstrumentation().getTargetContext().getApplicationContext();
                    app.setComponent(component);
                }
            });

    @Rule public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class, false, false);

Can you imagine the case when real dagger module would not require application to be instantiated? To be able to provide shared preferences, resources, etc.

Hi, there was an error in CoseNonJavisteAndroidApp project, I fixed it and now it works.
Are you using a custom rule? Can you paste an example of your code?

Thanks for your response. It seems that I have and issue with dexmaker. Even though I mostly trying to copy-paste your code from CoseNonJavisteAndroidApp project:
    androidTestCompile 'com.github.fabioCollini:DaggerMock:0.1'
    androidTestCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
    androidTestCompile('com.google.dexmaker:dexmaker-mockito:1.2') {
        exclude group: 'org.hamcrest', module: 'hamcrest-core'
    }

public class TestDaggerMockRule extends DaggerMockRule<AppComponent> {
    public TestDaggerMockRule() {
        super(AppComponent.class, new AppModule(getApp()));
        set(new ComponentSetter<AppComponent>() {
            @Override
            public void setComponent(AppComponent appComponent) {
                getApp().setAppComponent(appComponent);
            }
        });
    }

    public static MyApp getApp() {
        return (MyApp) InstrumentationRegistry.getInstrumentation().getTargetContext().getApplicationContext();
    }
}

And this is my test:
@RunWith(AndroidJUnit4.class)
public class SharedPrefCurrencyStorageShould {

    @Mock
    private ResourceLoader resourceLoader;
    // real
    private SharedPreferences sharedPreferences;

    @Rule
    public DaggerMockRule<AppComponent> mockitoRule = new TestDaggerMockRule();

    @Before
    public void setUp() throws Exception {
        sharedPreferences = MyApp.graph().sharedPreferences();
        resourceLoader = MyApp.graph().resourceLoader();
        sharedPreferences.edit().clear().commit(); // we need to do it ourselves
    }

    @Test
    public void testSetUp() {
        assertNotNull(resourceLoader);
        assertNotNull(sharedPreferences);
    }

    @Test
    public void testDefaultValuesAreNotInitializedAtConstructor() throws Exception {
        verify(resourceLoader, times(0)).loadRawObject(R.raw.config, ConfigurationResult.class);
    }
}

Error msg
	java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
	at com.google.dexmaker.mockito.DexmakerMockMaker.getInvocationHandlerAdapter(DexmakerMockMaker.java:80)

As I said, most likely it is not issue with dagger-mock-rule lib, but rather mess state of android testing infrastructure in general. Appreciate help to get through it.

Resolved my issue by using snapshot version of dexmaker
repositories {
    maven { url "https://jitpack.io" }
}
dependencies {
    androidTestCompile "com.github.crittercism.dexmaker:dexmaker-parent:f8e7c23e4172af8767758c99c9165dd2bd4f0e7f"
    androidTestCompile "com.github.crittercism.dexmaker:dexmaker-mockito:f8e7c23e4172af8767758c99c9165dd2bd4f0e7f"
    androidTestCompile "com.github.crittercism.dexmaker:dexmaker-dx:f8e7c23e4172af8767758c99c9165dd2bd4f0e7f"
    androidTestCompile "com.github.crittercism.dexmaker:dexmaker:f8e7c23e4172af8767758c99c9165dd2bd4f0e7f"
}


An error dialog pops up when executing 'Propagate Access Control Lists…' for a SAS attached ADLS Gen2 blob container

Storage Explorer Version: 1.17.0
Build Number: 20210127.3
Branch: main
Platform/OS: Windows 10/ Linux Ubuntu 18.04/ MacOS Catalina
Architecture:  ia32/x64
Regression From: Previous build (20210123.6)
Steps to reproduce:

Expand one ADLS Gen2 storage account -> Blob Containers.
Create a blob container -> Attach it via SAS with full permissions.
Right click the SAS attached blob container -> Click 'Propagate Access Control Lists...' -> Click 'OK'.
Check there no error dialog pops up.

Expect Experience:
No error dialog pops up.
Actual Experience:
An error dialog pops up.

Verified on build 20210128.3. This issue has been fixed. So we close it.

Verified on build 20210128.3. This issue has been fixed. So we close it.


Use threadpool executor on rlp decode

rlp decode is blocking, and caused the /status route to fail, and created backups in transactions.
Use gevent threadpool we can continue to respond to other requests while decoding transactions to verify them

Cancelled first two to reduce CI runners on this PR


VULNERABLE TO RYZENFALL!?

IS THIS THING VULNERABLE TO RYZENFALL?

nocode is not vulnerable to RYZENFALL.
In fact nocode is only vulnerable only to human understanding.


Update time on refresh

fixes #81
this was lost in migration

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: mckn:x: ryantxuYou have signed the CLA already but the status is still pending? Let us recheck it.

I removed the circle and codecoverage webhooks -- we can now use:
https://drone.grafana.net/grafana/clock-panel

I removed the circle and codecoverage webhooks -- we can now use:
https://drone.grafana.net/grafana/clock-panel

How do we do the actual release of the plugin?

How do we do the actual release of the plugin?

no idea :( ask @briangann or @marcusolsson

How do we do the actual release of the plugin?

no idea :( ask @briangann or @marcusolsson

With the github actions that was kind of easy. But since those are removed I'm a bit in the dark here 🙈

I think this is how @marcusolsson publishes plugins? That's what the recently updated docs say here:
https://github.com/grafana/plugin-catalog-review#step-9-publish-plugin-submission
to use uploader.sh the plugin-signer repo. Still never published a plugin so not 100% sure on the newest workflow...


Add integration tests support for Kubernetes 1.21

Codecov Report

Merging #65 (a5fdcf1) into main (becb554) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head a5fdcf1 differs from pull request most recent head 7f5f040. Consider uploading reports for the commit 7f5f040 to get more accurate results

@@           Coverage Diff           @@
##             main      #65   +/-   ##
=======================================
  Coverage   82.15%   82.15%
=======================================
  Files          14       14
  Lines         695      695
=======================================
  Hits          571      571
  Misses         88       88
  Partials       36       36

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 becb554...7f5f040. Read the comment docs.


No big size difference between dev and prod build

Short description of the problem:
There is no big difference between dev and prod build.
Is this correct?
What behavior are you expecting?
A way smaller apk size on a prod build. About 30M, is this normal? Is it related to the crosswalk plugin used by conference-app?
Steps to reproduce:

dir change in actual (01/18/17) ionic-conference-app
ionic build android
ionic build android --prod

apk size of dev build: 30.509.197 bytes
apk size of prod build: 29.496.689 bytes
Which @ionic/app-scripts version are you using?
Your system information:

 ordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.5-201701112208
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.0.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.1
Xcode version: Not installed

Seems to be Crosswalk, which adds about 25MB to the apk.
So, the reduction between prod and dev is about 1M, is this realistic?

Closing as this is not an issue but a question.
Yes, crosswalk does have a big footprint.
As for the additional file size, there is still work being done to optimize this.
We're addressing this by making ionic tree-shakable and reduce the overall bundle size.


Suggestion to improve intelligibility

Assuming that this document is intended to teach rather than simply be a copy-and-paste recipe, would it be worth adding further comments to the zonefile sections and to the surrounding text to explain what the various fields actually mean? Whilst IT experts will understand zonefiles, many more traditional AV-engineers will need to cross refer to other documents (which aren't linked - and as there are no less than 43 relevant RFCs (!!!!), some guidance as to which ones are most important would be helpful) in order to actually understand the content presented.
For example, in the section:
; Additional metadata relevant to the IS-04 specification.
reg-api-1._nmos-register._tcp.gplab.com.	TXT	"api_ver=v1.0,v1.1,v1.2,v1.3" "api_proto=http" "pri=0" "api_auth=false"
qry-api-1._nmos-query._tcp.gplab.com.           TXT     "api_ver=v1.0,v1.1,v1.2,v1.3" "api_proto=http" "pri=0" "api_auth=false"

Why is this a TXT record? What does that actually mean?
How is the api_ver structured?
What is the impact of the "pri" (priority?) field?
What else do I have to do if I want api_auth? Is that authorisation or authentication?

Similar questions could be raised about many of the other snippets.

I agree that some more tutorial content would be helpful in what's after all an implementation guide.  This page of course is just an example, and I know there's an intent not to make it very long.   Perhaps the Introduction needs to say more?
However it would be good to get wider feedback on that... of the "four modes of documentation" (see https://diataxis.fr/):

tutorials
how-to guides
technical reference
explanation.

...these implementation guides are aimed at tackling the how-to case

Excellent link - thanks for sharing!

So can we close this?  I think the diataxis how-to-guides page is very clear about not adding a lot of educational material.  I believe the guide is okay as written, and if we want a DNS tutorial, frankly it is my belief that we could probably find a dozen of them on the web that are much better than anything we could come up with.  My two cents.

I suggest putting some text in the README and the Introduction to clarify that this is not a tutorial.  The References doc could include suitable links

It would be good to come up with some boiler plate language for all implementation guides in this respect.  (What references doc?)

https://github.com/AMWA-TV/nmos-implementation-guide-template will provide boiler plate.
I meant docs/References.md which could become a Further Reading doc?

See #31 which adds a short introduction explaining that this is not a tutorial, but a how-to.

Maybe we could simply extend the comment in the code snippets so that rather than just saying (effectively) "read the IS-04 spec", it gives a section reference? Also, for the code snippets with multiple numeric columns, such as...
; NMOS RDS services
reg-api-1._nmos-register._tcp.gplab.com.     3600    IN SRV  10      10      80      rds1.gplab.com.
qry-api-1._nmos-query._tcp.gplab.com.        3600    IN SRV  10      10      80      rds1.gplab.com.

...the comment could describe what each of the columns means, e.g.
; NMOS RDS services                          TTL     Class  SRV  Priority   Weight    Port    Target
reg-api-1._nmos-register._tcp.gplab.com.     3600    IN     SRV  10         10        80      rds1.gplab.com.
qry-api-1._nmos-query._tcp.gplab.com.        3600    IN     SRV  10         10        80      rds1.gplab.com.

Mike, see my #32 PR where I added the comments you suggested.  Is this sufficient?

@peterbrightwell can you please review #31?  I believe if that PR and  Mike is okay with #32, we can close this?

I've approved and merged #31 (after a tweak so the table of contents works). Possibly the intro text could go in the Introduction.md doc, but I think we can close this now.

See also #33 which tweaks the README text

Looks good to me - thanks Brad (and apologies that I'm insufficiently skilled at GitHub to make the changes myself)


e2e, VSOCK: only enable VSOCKGate in vmi_vsock_test

As VSOCK is not isolated by network namespace, when enable this future gate in multiple node kind cluster, virt-handler would show error message when trying bind to same VSOCK port. So only enable VSOCKGate in vmi_vsock_test.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #9504
NONE

cc: @rmohr

/lgtm
/approve


Add support for importing blocklist by URL

Instead of just local textfiles, add support for importing blocklists by URL

done


[flash_ctrl] D2S hardening for host/controller arbitration

refactor flash_phy_core to use prim_arbiter_tree
introduce a prim_arbiter_tree_dup instance
use the new duplicated arbiter and add some checks on post-arbitration behavior.

this is the last flash d2s item.
If it looks good to you, feel free to merge for me. If not i'll address the comments when I come back.


Update Firefox version check now that FF38 has been fixed.

LGTM

Comments from the review on Reviewable.io

Reviewed files:

src/generic_ui/polymer/root.ts @ r1
src/generic_ui/scripts/ui.ts @ r1

Comments from the review on Reviewable.io


python310Packages.python-gvm: 23.4.0 -> 23.4.1

Diff: https://github.com/greenbone/python-gvm/compare/refs/tags/v23.4.0...v23.4.1
Changelog: https://github.com/greenbone/python-gvm/releases/tag/v23.4.1
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 228194 run on x86_64-linux 1

10 packages built:

faraday-agent-dispatcher
faraday-agent-dispatcher.dist
gvm-tools (python310Packages.gvm-tools)
gvm-tools.dist (python310Packages.gvm-tools.dist)
python310Packages.python-gvm
python310Packages.python-gvm.dist
python311Packages.gvm-tools
python311Packages.gvm-tools.dist
python311Packages.python-gvm
python311Packages.python-gvm.dist


Support overlapping mapping ranges

I am continuing my work on Angular support and a lot of stuff is working correctly in version 2.3.0, however there is one problem with transpilation of ?., which for historical reasons works differently then TypeScript version of ?.. Let me describe the problem.
Problem
WebStorm is using TypeScript server to provide types of expressions. For instance, if we have foo.bar.fooBar expression, to get the type of fooBar property, WebStorm will check expression type of the whole range foo.bar.fooBar. This fails to work with transpiled ?. though. Currently, the ranges would be incorrectly mapped from the source file to generated file, e.g. data?.icon would be mapped to data)!.icon.

The problem is that ?. is expanded to a whole expression, so we need to add more mappings and they will start overlapping:

So, if we map source range data?.icon we should get (null as any ? (this.data)!.icon : undefined) generated range, but if we want to map an error from generated range that icon property does not exist on data, we should get a different mapping:

Solution
I want to store source mappings in an interval tree (e.g. https://www.npmjs.com/package/@flatten-js/interval-tree). This will allow for a given text range to find all mappings containing a start point and an end point in O(ln(n)) time (where n is number of mappings) and then find among them the best match:

If there are mappings containing both start and end point - find the smallest range among them. If start and end match perfectly use the target range as is.
This also solves issues with mapping of e.g. _t1 to fooBar (when lengths of source and generated code are different). Currently you get _t1 mapped to foo instead of fooBar.
Otherwise find the smallest mapping containing start and the smallest mapping containing end point and use them for mapping start and end separately.

@johnsoncodehk - I can implement the solution and provide a PR with it. Let me know what you think about this!

We have a discussion in the Volar Discord server that uses zero length mappings to solve the same problem and avoid overlapping mappings: https://discord.com/channels/1192759067815464990/1252021970443440128 (Discord server invite link: https://discord.com/invite/7qfYWRrUAM)
Please let me know if this works in your case as an alternative.

@johnsoncodehk - I went through the topic, but I am afraid it won't work in my case. The problem is opposite to the one specified in the thread. I need to map from source range to generated range. The problem is that I need to find the best range, not just the best start and the best end separately.
For instance, for the source range data?.icon from screenshots above, there are two mappings for the start index («» denotes the range):

(null as any ? (this.«data»)!.icon : undefined)
«(null as any ? (this.data)!.icon : undefined)»

and two mappings for the end index:

(null as any ? (this.data)!.«icon» : undefined)
«(null as any ? (this.data)!.icon : undefined)»

And the mapping I need, is the one, which has both: start and end index, which is (null as any ? (this.data)!.icon : undefined). If we had just one level of such thing, I could probably do that through some custom data and filter on the mappings, but when you chain ?. you get some nesting, and you can have even 3 or more mappings for the same start segment (see the screenshots above). I don't see any other way to do that other than through an interval tree.
The zero-length segments are pretty cool trick for mapping highlighting errors back to the source code, but I guess if we have overlapping segments support, I won't need them. Also, the mappings will work correctly in both ways, i.e. source -> generated and generated -> source. I recall we have some issues with getting element types from Vue files, because of these zero-length segments, as we cannot map from source to generated code correctly.
Using interval tree can be costly performance wise, so they would be used only, if there are overlapping segments found in the map.

(First I am still trying to understand this case.)
If the Angular compiled code is so complex, is it possible to replace (null as any ? ((null as any ? ((null as any ? (this.data)!.icon : undefined)!.toString : undefined))!() : undefined) with a simpler this.data?.icon?.toString() in the virtual code used for Volar to perform the mapping?

I have a full control over what's generated, so that's not a problem, but for me important part is to be 1:1, what Angular compiler does and TBH I have no idea why it does that. There are also other cases, where foo is translated to this.foo, etc.
I am now implementing the algorithm to compare it with the existing one in terms of performance, both memory-wise and time-wise. I will not be using any external libraries for that. It seems that, because of translateOffset being O(n), which is used in findMatchingOffsets, we might get a significant improvement here, where you can retrieve offsets in O(ln(n)). The cost would be slightly higher memory usage, but still O(n) and the creation time should also be still O(n*ln(n)). One more benefit will be that the provided mappings won't need to come sorted in any way.

A small update is that we just implement binary search for translateOffset in https://github.com/volarjs/volar.js/commit/1a92d47398f752ee207ac630d941ba14e2e4aaf4.

I've added a test for the Angular template virtual code mapping you showed in #204, which is based on the zero-length mapping trick to handle the use case you mentioned.
I'm not sure if overlapping paragraph support is a good idea (don't get me wrong, I'm not rejecting it, I just need to understand your use case better) and I'll wait to review it once your implementation is complete.

@johnsoncodehk - thanks for your work again! I have submitted my PR with a lot of comments to explain the difference between our approaches to mappings. As far as BinarySearchStorage vs IntervalTreeStorage is concerned. It seems that interval tree will use less memory, as each mapping range is stored only once, whereas in your case it's stored in many places. I will have a look at some performance metrics

@johnsoncodehk - sorry for all of the noise! I've finally managed to get a final PR to cover Angular case with overlapping rang emappings and without zero-length ranges. The only major change is the range-matching logic, so that we can map correctly variable-length ranges. With this logic we get an equivalence of the zero-length ranges, which are a bit confusing and magical ;) I hope you'll accept the PR.
My main mistake was that I've put all the ranges into a single mapping. Changing that helps a lot here! I've added a check and an informative error, so that others will not repeat my mistake ;)

Thank you for your efforts! I'll check it out, it'll take some time.

Thanks!
One more thought. If we can get rid of zero-length mappings, which is possible with my change, the Mapping interface could be simplified to:
export interface Mapping<Data = unknown> {
	sourceOffset: number;
	generatedOffset: number;
	length: number;
	generatedLength?: number;
	data: Data;
}

Right?

One more thought. If we can get rid of zero-length mappings, which is possible with my change, the Mapping interface could be simplified to:

You are right, the current data format is a bit confusing, I will try to refactor in 2.4 as you suggested and see if that causes any limitations.


HDDS-11833. Return NotImplemented for S3 put-object-acl request.

What changes were proposed in this pull request?
S3 Object ACL requests has not been implemented in Ozone due to possible conflicts with the existing ACL model. Therefore, S3 put-object-acl request is processed as a normal put-object request. This causes object ACL requests to overwrite the current object, which is unexpected.
We need to explicitly throw NotImplemented for put-object-acl requests to prevent misuse.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-11833
How was this patch tested?
Integration test.

@adoroszlai @nandakumar131 Thanks for the reviews.


Add option to precompile Blade templates

Submit a feature request or bug report

[x] I've read the guidelines for Contributing to Roots Projects
[x] This is a feature request
[x] This request isn't a duplicate of an existing issue
[x] I've read the docs and NPM Debugging Guidelines post and followed them (if applicable)
[x] This is not a personal support request that should be posted on the Roots Discourse forums

What is the current behavior?
Blade templates are compiled during first view.
What is the expected or desired behavior?
An option to turn off Blade compilation and a Composer script (or something) to precompile templates during deploy.
Is there a related Discourse thread or were any utilized (please link them)?
https://discourse.roots.io/t/best-practice-resources-for-blade/8341/72?u=swalkinshaw

Feature Request
Please provide use cases for changing the current behavior:
If you have a proper deployment process, pre-compiling templates is a better practice as it's done once ahead of time and you could catch failures before a page view happens.

I've been playing around with this a little. For this to work we need to be able to access the sage container outside of wordpress but right now it's only loaded inside a filter

@swalkinshaw if you want to do it during deploy I think it's a better idea to do it with git-hooks.
@schrapel isn't it possible to run these commands with WP-CLI?

Well you need to have a copy of wp cli installed and a active database. My Docker doesn't have MySQL installed
Git hooks is an option but you need to figure out how to compile with the same folder path on your web box. But if you have different folders on different servers a git hook won't work
El 4 may 2017 2:17 -0500, Wouter Groenewold<EMAIL_ADDRESS>escribió:

@swalkinshaw (https://github.com/swalkinshaw) if you want to do it during deploy I think it's a better idea to do it with git-hooks.
@schrapel (https://github.com/schrapel) isn't it possible to run these commands with WP-CLI?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/roots/sage/issues/1851#issuecomment-299112994), or mute the thread (https://github.com/notifications/unsubscribe-auth/ADci3dI9uYZeLW4jnoHfigJenWoKMRfSks5r2XuHgaJpZM4MO7pU).

https://alwaysblank.org/tool/blade-generator/

@retlehs great tool!
Aside: "Also, if your console supports it, the script uses emoji." Just WOW!

Closing this as that wp-cli package is exactly how this would need to be done. The only other option would be to add it to sage-installer or sage-lib.


Add new pipeline using the latest webview2 from Edge Canary

Summary of the Pull Request
Changes Introduced
This PR introduces a new parameter usingLatestWebView2 to control whether the latest WebView2 Canary version is used during testing and CI builds. The specific changes are as follows:

job-test-project.yml

Added usingLatestWebView2 parameter of type boolean with a default value of false.
Included a PowerShell script to download and install the latest Microsoft Edge Canary version.
Added a registry modification script to enable the WebView2 Canary channel.

pipeline-ci-build.yml

Added usingLatestWebView2 parameter of type boolean with a default value of false.
Passed the usingLatestWebView2 parameter in the stages section to use it during CI builds.

Purpose
The introduction of the usingLatestWebView2 parameter allows developers to opt-in to using the latest WebView2 Canary version during tests and CI builds. This helps in identifying and resolving issues related to the latest WebView2 version early, thereby improving the project's stability and compatibility.

PR Checklist

[ ] Closes: #xxx
[x] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[x] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed
pipeline runs successfully.

fixed spell check failure

is there someway to validate we're getting the canary version and the pipeline would fail if canary is in a bad spot?

is there someway to validate we're getting the canary version and the pipeline would fail if canary is in a bad spot?
If there is no automation functional test related to Webview2 component, I think the answer is no.
We can see what automation we can add in near future.

Oh! PR #36282 uses the word use instead of using. For consistency, you should stick with one version of that word! 🙂

Oh! PR #36282 uses the word use instead of using. For consistency, you should stick with one version of that word! 🙂

Done

per @dhowett statement, @shuaiyuanxx saying he addressed the feedback, i'm going to dismiss Dustin's review.

@yeelam-gordon my statement for failing was just to be sure we know everything works in the failure case for alerting


Add option to download resume

Add an option so that the resume can be shown conditionally and downloaded.

I would like to solve this issue. Kindly assign this task to me.


Benchmarking - CCDEF - Fidelity check sign error

I get an error like the one in the example below when running the CCDEF format code for benchmarking against any file from https://physionet.org/content/charisdb/1.0.0/ . The values from the written file seem close to the input data but the sign is wrong.
./waveform_benchmark.py -r "/home/briangow/chorus/data/waveform_benchmark/waveforms/charisdb/1.0.0/charis1.hea" -f "waveform_benchmark.formats.ccdef.CCDEF_Compressed"
________________________________________________________________
Format: waveform_benchmark.formats.ccdef.CCDEF_Compressed
         (CCDEF compressed format)
Record: /home/briangow/chorus/data/waveform_benchmark/waveforms/charisdb/1.0.0/charis1
         244797 seconds x 3 channels
         36719553 timepoints, 36719553 samples (100.0%)
________________________________________________________________
Fidelity check:

Chunk		 Numeric Samples		  NaN Samples
	# Errors  /  Total	  % Eq  	NaN Values Match
Signal: ABP
  0  	         2/  12239851	100.000		     Y (0)
Subset of unuequal numeric data from input:
[387.2814 396.7168]
Subset of unuequal numeric data from formatted file:
[-375.18178539 -365.74639629]
(Gain: 85.953)
Signal: ECG
  0  	       246/  12239851	99.998		     Y (0)
Subset of unuequal numeric data from input:
[5.4534044 5.4534044 5.4534044 5.4534044 5.4534044 5.4534044 5.4534044
 5.4534044 5.4534044 5.4534044]
Subset of unuequal numeric data from formatted file:
[-5.32284526 -5.32284526 -5.32284526 -5.32284526 -5.32284526 -5.32284526
 -5.32284526 -5.32284526 -5.32284526 -5.32284526]
(Gain: 6081.5219)
Signal: ICP
  0  	         3/  12239851	100.000		     Y (0)
Subset of unuequal numeric data from input:
[357.78427 346.12726 369.76804]
Subset of unuequal numeric data from formatted file:
[-332.95249498 -344.60952124 -320.96873472]
(Gain: 94.8784)

This error is being introduced at:
https://github.com/chorus-ai/chorus_waveform/blob/576e56d5ab164f6b65ee8eee3d5ae74c5a430a3b/waveform_benchmark/formats/ccdef.py#L55
when a sample value is outside the np.short (16 bit) range.
@wa6gz , assuming you'd like to stick with np.short to minimize the file size, could you adjust the baseline to stay within the 16 bit range?

Sounds good @briangow, I'll add a baseline and integrate with gain changes in #65.

Thanks @wa6gz !


Move WMTS support into OGC server

WMTS was initially implemented as its own plugin/server. This was convenient for WMTS-only servers, but it would be helpful to support adding an OGC server with WFS/WMTS layer pairs.
This PR moves the WMTS code into the existing OGC server. To avoid user-facing changes, WMS will be used as the default tile layer type if both WMS and WMTS layers exist for the same identifier. A new WMTSServer class was also added to avoid breaking existing config for WMTS-only servers.
This also fixes a couple bugs in the existing WMTS implementation that prevented the time dimension from working properly. The regex to fix the case in the URL template was missing a backslash to escape the closing brace, and the case-sensitive time key was not being used to update the dimension on the source. WMTS servers with time support (like NASA GIBS) should now work properly. Note the NASA GIBS layers are out of date, but should have tiles in the range 2015-06-07/2020-06-10.
To test adding an OGC layer with WMTS, this demo server may be used:
https://demo.geo-solutions.it/geoserver/web/
The layers are a little hit or miss if they actually work, but adding the WMTS service first will detect as an OGC server and the WFS/WMS URL's can be added in the import UI.
Another WMTS server, without time support: https://mrdata.usgs.gov/mapcache/wmts?service=WMTS&request=GetCapabilities&version=1.0.0&

I added tests for most of the new code. I also added os.net.resetCrossOriginCache primarily to aid tests, so they can reset anything added by previous tests. That's more module-friendly given we shouldn't be accessing private variables like crossOriginCache_ directly outside the file.


Legend hidden values

is there any possibility to get the hidden legend series names in an array?
In my application, I'm using PDF  download. The actual chart is on a separate page and pdf download in another page so I need to pass the series name as an array to the PDF download page.

I need this too


Error on Kobo while zipping .epub files

Using this library to zip .epub files results in an error when trying to open on Kobo Clara HD e-reader.
The error only occurs when the files are zipped with this library. When I zip files with system's zip command, the resulting .epub is valid.
Here is the comparison of the zip-rs file vs the system's zip command file using zipinfo on Ubuntu:
zip-rs
$ zipinfo zip-rs.epub
Archive:  zip-rs.epub
Zip file size: 10702 bytes, number of entries: 9
-rw-r--r--  4.6 unx       20 b- stor 20-Jun-18 09:07 mimetype
-rw-r--r--  4.6 unx      253 b- defN 20-Jun-18 09:07 META-INF/container.xml
-rw-r--r--  4.6 unx      161 b- defN 20-Jun-18 09:07 META-INF/com.apple.ibooks.display-options.xml
-rw-r--r--  4.6 unx      563 b- defN 20-Jun-18 09:07 OEBPS/chapter_1.html
-rw-r--r--  4.6 unx     5687 b- defN 20-Jun-18 09:07 OEBPS/stylesheet.css
-rw-r--r--  4.6 unx     5758 b- defN 20-Jun-18 09:07 OEBPS/rust-logo.png
-rw-r--r--  4.6 unx     1109 b- defN 20-Jun-18 09:07 OEBPS/content.opf
-rw-r--r--  4.6 unx      497 b- defN 20-Jun-18 09:07 OEBPS/toc.ncx
-rw-r--r--  4.6 unx      645 b- defN 20-Jun-18 09:07 OEBPS/nav.xhtml

zip command
$ zipinfo zip.epub
Archive:  zip.epub
Zip file size: 10871 bytes, number of entries: 11
-rw-r--r--  3.0 unx       20 t- stor 20-Jun-18 08:42 mimetype
drwxrwxr-x  3.0 unx        0 b- stor 20-Jun-18 08:42 META-INF/
-rw-r--r--  3.0 unx      253 t- defN 20-Jun-18 08:42 META-INF/container.xml
-rw-r--r--  3.0 unx      161 t- defN 20-Jun-18 08:42 META-INF/com.apple.ibooks.display-options.xml
drwxrwxr-x  3.0 unx        0 b- stor 20-Jun-18 08:42 OEBPS/
-rw-r--r--  3.0 unx     5687 t- defN 20-Jun-18 08:42 OEBPS/stylesheet.css
-rw-r--r--  3.0 unx      645 t- defN 20-Jun-18 08:42 OEBPS/nav.xhtml
-rw-r--r--  3.0 unx     5758 b- stor 20-Jun-18 08:42 OEBPS/rust-logo.png
-rw-r--r--  3.0 unx     1109 t- defN 20-Jun-18 08:42 OEBPS/content.opf
-rw-r--r--  3.0 unx      563 t- defN 20-Jun-18 08:42 OEBPS/chapter_1.html
-rw-r--r--  3.0 unx      497 t- defN 20-Jun-18 08:42 OEBPS/toc.ncx
11 files, 14693 bytes uncompressed, 9625 bytes compressed:  34.5%

The Kobo says the book is "protected by Adobe DRM" but I have been told that this error is kind of a default error and that it doesn't necessarily mean that the book is protected. In my case I did not protected the ebook.
I am not sure as to what causes the issue but I believe it can be one of two things

This library adds a comment to the zip file (default zip-rs)
The xhtml files are detected as binary files instead of text files. I am not sure why that is.

This library is used by https://github.com/lise-henry/epub-builder/
The issue has been discussed here: https://github.com/Michael-F-Bryan/mdbook-epub/issues/28

The xhtml files are detected as binary files instead of text files. I am not sure why that is.

One potential reason was mentioned earlier in the mdbook-epub thread: https://github.com/Michael-F-Bryan/mdbook-epub/issues/28#issuecomment-645880024
On the last point I'll quote @lise-henry hint on the issue I opened on its library repo

> From what I see, the HTML files only contain the body part and is missing the
> beginning and end for a full XHTML that is required to be understood as valid,
> e.g.

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
<body>
...
</body>
</html>

Potentially easy to fix?

Well actually all the of files are detected as binary files as denoted by the b- in the zipinfo output.
Here are the reasons that lead me to believe that lib-rs is causing the issue:

epub-builder has a comment saying that using zip-rs causes problems on e-readers, and she builds the book with the correct XHTML format;
If you zip all the same XHTML files manually with the zip command, the resulting .epub is valid;

I do believe this is something we have to address. But that should be an issue in the https://github.com/Michael-F-Bryan/mdbook-epub repository.

Oh hey, this is a really timely issue. I just encountered the same exact thing with zip-rs here: https://github.com/joshuarli/epub-optimizer/commit/a23c994ac0a548080529ec3a872fc56017e5e633
zipinfo is also telling me that archives created with zip-rs (I largely copied the example code) have b- for every entry. I suspect that's the issue. For me, it's manifesting as Apple Books telling me the EPUB is "corrupt".

Testing on my Kobo Aura 2, I found that when setting the comment of the zip archive to the empty string, the epub opens fine. You might want to file an issue in the epub-builder library instead.

On the binary vs text subject: the way zipinfo determines if a file is binary or text is by reading the 'internal attributes' field. This library never sets any flags in this field at the moment, so zipinfo will always determine it to be binary, regardless of the contents.

Great find! Though I believe that if the zip comment causes issues on some devices it shouldn't be set by default by this library.

Oh hey, this is a really timely issue. I just encountered the same exact thing with zip-rs here while trying to port external usage of zip to zip-rs: joshuarli/epub-optimizer@a23c994
zipinfo is also telling me that archives created with zip-rs (I largely copied the example code) have b- for every entry. I suspect that's the issue. For me, it's manifesting as Apple Books telling me the EPUB is "corrupt".

Sorry - long story short, this was entirely a bug on my end. The "zip-rs" comment had nothing to do with corruption here.


updated arc-enabled-servers

the fork contains the following changes:

new templates and scripts for coaches to create Azure VMs for the participants where the Azure guest agent is disabled, so they can use these VMs to onboard them via Azure Arc.
updated the walkthrough description for challenge 2 to reflect changes in the Azure UI and existing policies and data collection rules.

The arc-enabled server experience now is fully functional using Azure Monitoring Agent only (no Automation account or OMS agents needed).

Chellenge 2, Task 3 step 5 is not needed in my view, as the remediation of existing objects is done automatically:

Todo:

[ ] Clarify need to do manual remediation tasks. My take: will automatically be created upon assignment, even for existing objects
[ ] Missing table in LAW prevents Task 5 (import data collection ruke for inventory)

No need to create manual remediation

@skiddder please review and approve my changes.

Regression: manual remediation might be required for initiatives:

Only 2 of 6 were actually remediated - maybe because items weren't visible before?


[SUGGESTION] allow _get_property_list() to contribute to auto complete

OS/device including version:
N/A
Issue description:
Normally when working with tool you may want to expose custom variables to the to the inspector. For example allow _get_property_list to retrieve entries in a Dictionary... it would be nice if the suggestion for those properties should up in the autocomplete, if the dictionary is made const. if it is a constant and we are working with tool scripts I guess it would be doable? what do you think?
tool
extends Object
class_name MyObject

const dict = { "size": 1, "width": 2 }

func _get_property_list():
     var ret = []
     for a_name in dict:
          ret.append({"name": a_name, "type": TYPE_INT, "usage": PROPERTY_USAGE_DEFAULT})

this would make it possible to:
var a = MyObject.new()
a.size # this would appear in the autocomplete
a.width # this would appear in the autocomplete

What do you think? Worth it? Doable?

Duplicate of https://github.com/godotengine/godot/issues/25097

Sorry for the dup @mrcdk.


Update add-the-session-to-the-state.md

The code example was throwing errors and not consistent with code examples in load-the-state-from-the-session.md

Good catch!


Site breaks and says You must specify the "to" property

When i added products to cart and deleted the same products the site breaks down it says.
Warning: Failed prop type: The prop `to` is marked as required in `NavLink`, but its value is `undefined`.
error: Invariant Violation: You must specify the "to" property at invariant (/Users/my/path/to/node_modules/invariant/invariant.js:40:15)```

Hi, I'm getting the same behavior. Here is the output in the browser console :
checkPropTypes.js:19 Warning: Failed prop type: The prop `to` is marked as required in `NavLink`, but its value is `undefined`.
    in NavLink (created by CartItem)
    in CartItem (created by Cart)
    in div (created by Cart)
    in Cart (created by Header)
    in div (created by Header)
    in div (created by Header)
    in div (created by Header)
    in div (created by Header)
    in header (created by Header)
    in Header (created by SharedContainer)
    in SharedContainer (created by Connect(SharedContainer))
    in Connect(SharedContainer) (created by Route)
    in Route (created by withRouter(Connect(SharedContainer)))
    in withRouter(Connect(SharedContainer)) (created by App)
    in App
    in Router (created by BrowserRouter)
    in BrowserRouter
    in Provider

browser.js:38 Uncaught Error: You must specify the "to" property
    at invariant (browser.js:38)
    at Link.render (Link.js:78)
    at finishClassComponent (react-dom.development.js:13194)
    at updateClassComponent (react-dom.development.js:13156)
    at beginWork (react-dom.development.js:13825)
    at performUnitOfWork (react-dom.development.js:15864)
    at workLoop (react-dom.development.js:15903)
    at HTMLUnknownElement.callCallback (react-dom.development.js:100)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:138)
    at invokeGuardedCallback (react-dom.development.js:187)

Maybe I misconfigured something.

It seems that NavLink elements in CartItem has a to property but its undefined (as seen in https://github.com/cezerin/cezerin/blob/master/theme/src/components/header/cart.js).

I don't know if it's happening the same thing for you guys. But I use the WebStorm IDE, and it automatically adds the imports, it imported the wrong  Navlink.
It imported import NavLink from "react-router-dom/es/NavLink";


Password saved as plain text

OrientDB Version, operating system, or hardware.

v2.2.12-SNAPSHOT

Operating System

Linux

Expected behavior and actual behavior
Passwords are expected to be saved as encrypted form ({PBKDF2WithHmacSHA256}....) but some of them are stored as plain text (i.e only the first three).
Steps to reproduce the problem
graph.getMetadata().getSecurity().createUser('myUser', 'myPassword', 'myRoleA', 'myRoleB')
graph.commit()

(also hitting Local node 'node-03' is not the owner for cluster 'ouser' (it is 'node-02') ↵ DB name="devaprint-production" when committing this operation not on node-02)

Hi @voondo
does it happen on a single node or on a distributed deployment?
Thanks
Luigi

@luigidellaquila on a distributed deployment (3 nodes)

Ok, it must be a problem with the hooks, I'm forwarding this to the distributed team
Thanks
Luigi

@luigidellaquila, when creating a user via Studio or via Java API the node where the command ran will get the password as plain text. To other nodes it is synced in encrypted format. So it is more likely an problem of incorrect inserting.

@dominioon can you reproduce this problem against 2.2.17?

Hi,
Many thanks for submitting this issue
@lvca, I reproduced this with 2.2.18. Just create an user with Studio. Then select * from OUser from the same node where you created the user
Thanks,

Closing this issue because of no response after a long time.

Hi,
This should be fixed long ago in all supported version, closing


linux: specify the default devices available

Linux applications rely on a number of devices and filesystems. Lets define a default set, what do people think of this set lifted from the appc OS-SPEC?
The following devices and filesystems MUST be made available in each application's filesystem

Path
Type
Notes

/proc
procfs

/sys
sysfs

/dev/null
device

/dev/zero
device

/dev/full
device

/dev/random
device

/dev/urandom
device

/dev/tty
device

/dev/console
device

/dev/pts
devpts

/dev/ptmx
device
Bind-mount or symlink of /dev/pts/ptmx

/dev/shm
tmpfs

On Wed, Aug 05, 2015 at 03:45:06PM -0700, Brandon Philips wrote:

The following devices and filesystems MUST be made available in each
application's filesystem

I don't have a problem with automatically supplying these, as long as
explicit entries in the mounts or devices arrays can override the
compiled-in defaults.  That doesn't leave you with a way to say “I
don't want anything mounted at /dev/shm” (for example), but that's
probably not a big deal.

On Wed, Aug 05, 2015 at 03:45:06PM -0700, Brandon Philips wrote:

… lifted from the appc OS-SPEC?

Non-edit link for folks who don't have a for of appc/spec:
https://github.com/appc/spec/blob/master/spec/OS-SPEC.md

/dev/shm could be optional I think. Also, it could be bind mounted in.

@mrunalp We considered making it optional in appc but I don't think it hurts anything to have it.

Makes sense.
Also we need to specify order in which bind-mounts and devs created, because it can lead to pretty different behavior.

@LK4D4 I agree, that is a separate issue though, right? Or are you saying what happens if someone decides to do a bindmount for /dev from a host filesystem?

@philips That is issue too, but I meant per-device. You're right it's another issue.

@philips Yeah, i see no harm in requiring /dev/shm.

I think having these as default makes sense.
However should we also allow the bundle author to deny some devices ? For example, i may not want tty related devices in the container. Maybe that's a separate issue.

On Fri, Aug 07, 2015 at 03:23:00AM -0700, Daniel, Dao Quang Minh wrote:

However should we also allow the bundle author to deny some devices
? For example, i may not want tty related devices in the
container. Maybe that's a separate issue.

Why would you not want tty devices?  If a container is not attached to
a terminal, trying to open /dev/tty will raise an error 1.  I don't
see a need to avoid having the /dev/tty device node though.

this looks sane to me
On Fri, Aug 7, 2015 at 12:50 PM, W. Trevor King<EMAIL_ADDRESS>wrote:

On Fri, Aug 07, 2015 at 03:23:00AM -0700, Daniel, Dao Quang Minh wrote:

However should we also allow the bundle author to deny some devices
? For example, i may not want tty related devices in the
container. Maybe that's a separate issue.

Why would you not want tty devices? If a container is not attached to
a terminal, trying to open /dev/tty will raise an error 1. I don't
see a need to avoid having the /dev/tty device node though.
—
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/issues/95#issuecomment-128762730
.

Maybe also include /dev/mqueue?

On Wed, Aug 12, 2015 at 10:51:28AM -0700, Mrunal Patel wrote:

Maybe also include /dev/mqueue?

It would be nice if inclusions like this all came with links to specs
like POSIX or the LFH to motivate our including them as part of a
“standard Linux system”.

Yeah, the way I was thinking of doing this would be as a key like "standard_mounts", with values like "lfh-0.65", to specify which hierarchy you're using (since there are always new ways to do it, and new best practices arising).

@wking @stuartpb Do you have a link to such a spec? When we were doing this for appc we couldn't find anything that was both kept up to date and authoritative. There is just the general best practices which the above reflects.

On Fri, Aug 14, 2015 at 03:42:47PM -0700, Stuart P. Bentley wrote:

Yeah, the way I was thinking of doing this would be as a key like
"standard_mounts", with values like "lfh-0.65", to specify
which hierarchy you're using (since there are always new ways to
do it, and new best practices arising).

Building in a way to gracefully migrate between different “default
system” specs is nice, but for me this tips the balance between “makes
bundle author's lives easier” (which is what these defaults are about)
and “makes implentor's lives more difficult” ;).
Could we spin this off into a separate bundle-authoring helper?
E.g. “give me an OCI spec devices section for POSIX 2013” (which would
be /dev/console, /dev/null, and /dev/tty 1) or “give me an OCI spec
devices section like Debian 7.0” (probably a superset of POSIX ;).

These devices and filesystems are part of the Linux ABI. What problems are solved by flexibility and how would this flexibility help runtime implementers?
Also, these aren't parts of the bundle, they are things that should be created or mounted at runtime.

On Fri, Aug 14, 2015 at 03:52:36PM -0700, Brandon Philips wrote:

@wking @stuartpb Do you have a link to such a spec?

The POSIX spec I linked above has three devices.  I imagine we can
find references of some sort for /dev/shm, /dev/mqueue, etc., but I
don't have them offhand.
As an alternative for Linux, we could just mount a devtmpfs.  On Linux
4.1.0, that gives me null, zero, full, random, urandom, tty, console,
pts, ptmx, shm, mqueue, but does not mount a devpts on pts, a tmpfs on
shm, or a mqueue on mqueue.  There will probably be a bunch of other
devices as well, and the presence of all entries should reflect
whether or not they're compiled into the host kernel.

There will probably be a bunch of other devices as well, and the presence of all entries should reflect whether or not they're compiled into the host kernel.

Uh, making the entries in mounts specific to what's compiled into the host kernel seems to run directly counter to https://github.com/opencontainers/specs#3-infrastructure-agnostic.

Things we mount or create should not depend on whether the kernel has or doesn't have a particular feature. These should all be default ABI things.

Building in a way to gracefully migrate between different “default system” specs is nice, but for me this tips the balance between “makes bundle author's lives easier” (which is what these defaults are about) and “makes implentor's lives more difficult” ;).

If you're being serious here, you're either vastly overestimating the difficulty of maintaining the list of default system specs, or you're vastly underestimating the importance of this to the use cases.
In terms of implementation difficulty, there are going to be, like, two standard mount lists at the start (the implementation overhead to use all of which will be as difficult to implement as typing mounts.concat(standardMounts[name])), and then one every other year, tops. Considering you're using three-part semantic versioning to track your spec (which asserts that you intend to release non-breaking additions), that's going to be the least part of your implementers' troubles in keeping up with the iteration cycle.
In terms of the use improvements, it's not just a "writing this is hard" tooling problem - making this part of the spec rather than a mass of boilerplate each manifest has to carry with it means cutting out over half of the space each config takes up in the filesystem. Considering that a system where manifests correspond to each running container rather than only images appears to be the target use case (which, btw, is its own whole class of mistake), this is a savings that would add up in a big way in production.

On Fri, Aug 14, 2015 at 04:28:26PM -0700, Brandon Philips wrote:

Things we mount or create should not depend on whether the kernel
has or doesn't have a particular feature. These should all be
default ABI things.

“Linux” isn't specific enough to define a particular ABI.  For
example, if I build a kernel without CONFIG_TMPFS, I don't expect runC
to try and mount a tmpfs on /dev/shm.  So instead of trying to track
standards that specify devices (since POSIX 2013 is so sparse here), I
think it's more convenient and useful to just mount a devtmpfs and
expose all the devices that the kernel knows about 1.
If we do want to use an external standard for /dev, we have my earlier
POSIX 2013 (/dev/console, /dev/null, and /dev/tty 1).  The LSB 5.0
punts to the FHS 2.  And the FHS 3.0 has /dev/null, /dev/tty, and
/dev/zero 3, which matches the FHS 2.3 4.  I haven't found
anything like a Linux ABI spec that talks about /dev/random, /dev/shm,
etc.
Hard-coding a list (or lists) of “standard” devices seems like extra
work and risk confusing errors on kernels that aren't compiled to
support some of those devices, but which may be completely capable of
running the bundle in question.  So in the absence of a good standard
that requires the devices I need, I'd rather just mount devtmpfs and
leave “including the devices I need” to whoever's configuring the
kernel (since they'll have to do that regardless of what we do in a
runtime implementation).

On Fri, Aug 14, 2015 at 04:41:50PM -0700, Stuart P. Bentley wrote:

In terms of the use improvements, it's not just a "writing this is
hard" tooling problem - making this part of the spec rather than a
mass of boilerplate each manifest has to carry with it means cutting
out over half of the space each config takes up in the filesystem.

Cutting my current spec from 3 KB to 1.5 KB is not going to have a
significant impact on my bundle size ;).

I really don't understand what all this fuss is about. Docker has a short list of devices that it either automatically creates in the container, or allows the container to create. They are listed here https://github.com/docker/libcontainer/blob/ce1f2f1c86cda9ce335c16f3638206ceb97174bd/configs/device_defaults.go . It is one of the least interesting things about Docker, there have been really no arguments / drama what-so-ever over whether that list should be extended or reduced. Especially since anyone can add to the list at runtime.
However, there is a good reason for such a list to explicitly exist. It makes it very easy to do a security audit of Docker and say "what attack surface am I exposing via device nodes within the container?"

@timthelion subtly, you just said docker, but referenced libcontainer. Libcontainer is what runc now is.
This spec is about driving basic expectations for a container environment. So on linux, that means some basic kernel features and setup. As there will be a validation of runtime environments, like runc will provide, that expectation will have to be defined and asserted. It not fuss, just defining things that have been assumptions in the docker ecosystem.

On Wed, Aug 12, 2015 at 11:27:01AM -0700, W. Trevor King wrote:

It would be nice if inclusions like this all came with links to specs like POSIX or the LFH to motivate our including them as part of a “standard Linux system”.

This issue has been closed for a while, but work on #518 turned up the systemd container interface, which requires everything from the initial post except /dev/pts and /dev/shm.  So I'm not sure what the motivation for those was, but “can run systemd” is reasonable motivation for the others.


Add error messages related to failed autocompletion attempts

Added user-friendly error messages to RestaurantForm.js for cases where calls to Google API fail.

Status 503 tells the user to contact an administrator about a reached query limit
Status 404 in case an autocompleted suggestion does not, for some reason, have details, tells the user that a restaurant might have been removed from the API.

autocomplete input gets encoded in google.js before sending it to google api so that ö, ä, é etc. can be used in the search string as well.


[app store connect] update App Store Connect API token generation documentation

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
I was trying to troubleshoot why our release notes were not able to be uploaded to App Store Connect after uploading a build. Part of that troubleshooting was determining when the API key token expired to see if that could be the cause of the issue.
Description
This change adds the default value for the duration property to the documentation so folks who use the app_store_connect_api_key lane don't have to go searching through the source code to find it.
Testing Steps
None, this is a documentation change.

This looks great to me! Thank you for updating this. This make a lot of sense 😊

Happy to help! I just checked the docs and it looks like they are not updated -- did I miss something or is there a separate process in addition to the release that will take place?

This looks great to me! Thank you for updating this. This make a lot of sense 😊

Happy to help! I just checked the docs and it looks like they are not updated -- did I miss something or is there a separate process in addition to the release that will take place?

Docs are updated now.


Updated Working Klaytn RPC Archive Endpoints

Fixes # .
Changes proposed in this pull request:

Updated the working archive nodes of klaytn (Reference: https://docs.klaytn.foundation/content/dapp/json-rpc/public-en)

@bonustrack @ChaituVR Please take a look. Thanks.

Reference of previous update of Klaytn endpoints: https://github.com/snapshot-labs/snapshot.js/pull/597


Can not execute queueDeclare in passive mode

Active mode is prohibited by the administrator. Is it possible to refine the QueueDeclare function to transfer the connection type in the function parameters?

I'm sorry, see QueueDeclarePassive


Fix use-after-free problem related to logging headers

mime_header_value_set() has a coalesce logic to coalesce dead allocations
in the header heap and in the process can free up previously allocated
strings that Logging references (cquuc etc).  When logging tries to
access those fields subsequently it results in a use-after-free
(caught using ASAN build). In the wipe field logging use case, there
isn't a need to recreate new header heaps, just need to replace the
fields with wiped values. So, added a new utility function to simply overwrite
the fields. The fix has been retested with ASAN and looks good on prod host.

[approve ci autest]

A couple of requests:

Please cleanup the commit log. We obviously don't need "Dummy commit to trigger jenkins build".
It would be nice if we had a unit test for this. You could add comments or docs for the interface too, but I'm fine with just a test case.

Cleaned up the commit log
Added comments to the interface
Added regression tests.

Cherry-picked to v9.0.x branch.


Fixes for JDK 10, 11

Codecov Report

Merging #2329 into master will increase coverage by 0.27%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2329      +/-   ##
============================================
+ Coverage     97.36%   97.63%   +0.27%
+ Complexity     5247     5245       -2
============================================
  Files            93       93
  Lines         12547    12492      -55
  Branches       1578     1570       -8
============================================
- Hits          12216    12197      -19
+ Misses          177      149      -28
+ Partials        154      146       -8

Impacted Files
Coverage Δ
Complexity Δ

vavr/src/main/java/io/vavr/collection/TreeMap.java
93.84% <0%> (-0.05%)
162% <0%> (ø)

vavr/src/main/java/io/vavr/collection/Tree.java
97.91% <0%> (-0.02%)
124% <0%> (ø)

...n/java/io/vavr/collection/HashArrayMappedTrie.java
98.49% <0%> (-0.02%)
1% <0%> (ø)

vavr/src/main/java/io/vavr/collection/Stream.java
99.02% <0%> (-0.01%)
269% <0%> (ø)

vavr/src/main/java/io/vavr/collection/List.java
99.62% <0%> (-0.01%)
268% <0%> (ø)

...avr/src/main/java/io/vavr/collection/Iterator.java
99.22% <0%> (-0.01%)
181% <0%> (ø)

vavr/src/main/java/io/vavr/control/Option.java
100% <0%> (ø)
51% <0%> (ø)
:arrow_down:

vavr/src-gen/main/java/io/vavr/Tuple0.java
100% <0%> (ø)
20% <0%> (-1%)
:arrow_down:

...r-test/src/main/java/io/vavr/test/CheckResult.java
100% <0%> (ø)
13% <0%> (-1%)
:arrow_down:

vavr/src-gen/main/java/io/vavr/API.java
95.89% <0%> (+0.19%)
208% <0%> (ø)
:arrow_down:

... and 22 more

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 b68cc1f...00af25c. Read the comment docs.


DBeaver plugin in Eclipse 4.7.0, continual memory allocation by SQL Editor

I installed DBeaver into Eclipse version: Oxygen Release (4.7.0) Build id: 20170620-1800 using the Eclipse marketplace.  When I open a script with SQL Editor, the heap usage bar at the bottom right of Eclipse increases continually at about 10Mbyte / second, periodically being reset by a GC run.  When I close the script and open it in e.g. Generic Editor, heap usage is stable.

Do you perform any actions in SQL editor or it consumes memory in idle mode,?
SQL editor is a complicated control which analyses syntax, calls database-side functions while you editing etc. That's ok for it to consume some memory and then return it back.

I don't have to do anything in SQL editor to reproduce it.  Just opening a new empty SQL editor is enough.

What is your OS/window manager?

The window manager is xfce 4.12.3.  I've tried two arrangements w.r.t. the OS, both behave the same.

Debian testing
Ubuntu 16.04 inside an LXC container on the Debian testing machine with the X11 domain socket bind-mounted into the container so that it can connect to the X server running on the Debian host.

Two more pieces of information are

the DBeaver 4.1.1 package itself, with whatever version of Eclipse it bundles, has stable heap allocation when I open an empty SQL editor on the same system and
the problem is still there if I downgrade to Eclipse 4.6.3.  I haven't tried older versions than this.

Recent DBeaver bundles with Eclipse 4.6 M3.
I will test more on Ubuntu in Eclipse (didn't try that yet).

Well, I've reproduced that on Ubuntu 16 (in standalone version).

Nice to know I haven't just got a messed up machine :-).  Where do you think it comes from, the included version of GTK libs?  Do you want me to try varying a few things and re-testing?

Something about GTK+SWT. I'll try to play with options/read Eclipse boards and will reply here.

You could try to execute
export SWT_GTK3=0

before running DBeaver.

That does work around the issue, thank you.

Great.
Perhaps we'll need to make some special DBeaver starter script for this and include it in Linux distribution..


Allow more characters in comments ?

I have the following rule:
forall                = %x2200 / %x66.6f.72.61.6c.6c ; "∀" / "forall"

Currently the comment makes a parse error because it contains a character outside the range '\x21'..='\x7E'. This is however very useful for rules that need to match non-ASCII characters.
Could this be allowed ?
PS: amazing job on the recent versions ! Thank you.

Yes, it would improve the parser. I wanted to ask you for a patch, but found that it should be so easy to do, that I did it myself. See 8dd326f782c8897faec120f3d5dbb230f0d695f8. Does it work for you?
Thank you for the kind words! :-)

Does it work for you ?

Not quite, now it fails on my grammar even without any unicode.
I reduced it to the following:
foo = "a" ; a comment
    / "b"

I get the following error:
0: at line 1, in Eof:
    / "b"
 ^

Oops, I though the tests should cover it... do you have a trailing newline?

I do

My guess is that take_until doesn't consume the newline, but the previous code did

Good catch!

Btw, I don't intend to "steal" your commits. If you are somehow familiar with the code and can do it yourself, please say/do so! :-)

Yay, that fixed it thanks !

Btw, I do not want to steal your commits. If you are familiar with the code and can do it yourself, please say/do so! :-)

I'm actually not familiar with the code at all ^^ I just made an educated guess based on the diff of https://github.com/duesee/abnf/commit/8dd326f782c8897faec120f3d5dbb230f0d695f8.


SVG image format not recognized

I want to embed an SVG image download from https://img.shields.io/badge/Status-Open-red but I get the warning "asciidoctor: WARNING: could not embed image: /tmp/image-20200813-6-1ymd8ff; image file is an unrecognized format; install prawn-gmagick gem to add support".

When specifying a path or URL, you need to indicate the format. You can do so either by appending the file extension .svg or declaring it in a macro attribute format=svg.
image:https://img.shields.io/badge/Status-Open-red.svg[]

or

image:https://img.shields.io/badge/Status-Open-red[format=svg]

Thanks for the hint. It works with two exceptions:

the included image is printed without color (black background and white text), but it should be black/red background. It shows a badge create and loaded from shield.io
It prints the following warnings independently using the svg extension or macro attribute

/usr/lib/ruby/gems/2.7.0/gems/prawn-svg-0.30.0/lib/prawn/svg/interface.rb:123: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/lib/ruby/gems/2.7.0/gems/prawn-2.2.2/lib/prawn/graphics/patterns.rb:67: warning: The called method `fill_gradient' is defined

There are limits to what the SVG renderer that Asciidoctor PDF uses can handle. And the shields.io SVGs exceed those limits. Please direct your request for improvement / enhancement to the prawn-svg project.


What does everyone think about adding git-svn support?

Currently on a git-svn repo doing for instance:
legit publish (without an actual git remote):
will just raise an IndexError - we could fallback to git svn dcommit?
legit sync:
will just say let us know that master has not been published - we could fallback to git svn rebase

Not planned. Pull requests are welcome though.


Build Administration screen for user approvals

Closing as out of scope. "Approving" users should fall under the scope of the Authentication provider.


Update particle emitter tutorial

🦟 Bug fix
Summary
Fixed the tutorial gist world file and moved it to gz-sim (https://github.com/gazebosim/gazebo_test_cases/issues/1254#issuecomment-2323123365). The world file has one syntax error and it's also using outdated ignition syntaxes. Moving it to gz-sim so it's easier spot and maintain issues like these.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[x] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

@osrf-jenkins run tests please!


fix(emissions): add nil checks for reward distributions

Description

Add nil check for the reward per block params, panic here would halt the chain
Add nil checks in the params validation, originally it panicked at this stage as well
Skip reward distribution logic if reward per block is 0

Summary by CodeRabbit

New Features

Introduced a new helper function for improved logging during reward distribution.

Bug Fixes

Enhanced error handling and validation for reward distribution and parameter checks.

Documentation

Updated test cases and error messages for better clarity and coverage.

... panic here would halt the chain

Do we have a wrapper with defer for panic recovery somewhere?

Nope, I'm not sure we should had a general wrapper, in some case a bug where a panic happen could reflect a deeper issue where it's not safe to let the chain continue producing blocks


Windows 7 problems

GetDpiForSystem() not supported on win7, causes dll error upon running
System cant find a bunch of dll's including d3d12.dll
When commenting out all d3d and only leaving vulkan, the sample runs but instantly crashes when trying to load skybox.vert
When running on debug x64 it crashes somewhere in device creation

The readme says windows 7 is supported but it seems its not?
Edit: after messing around for a while I randomly moved all the files from Shaders/VULKAN to just Shaders/ and it worked. I just dont understand how this was meant to be working? weird.

Thanks for bringing this up ... as I said in Discord we are happy to invite you to help us provide a fix. We don't have a Win 7 machine anymore ...

We are looking into this from a different angle. So it is in our internal issue list ... I am hoping to have a fix in the next release.

Should be resolved.


Table filter height in Substance L&F

(Original issue 2 created by None on 2010-10-10T18:46:21+00:00)
Hi, first of all I would like to thank you for this extension, I've been looking for
something similiar for a long time. Unfortunately there is small issue under Substance
L&F - the height of filter row based on font size is always too small no matter
how large the font size is (screenshot with Nebula skin in the attachment). Maybe it
is possible to manually adjust the height of filter row's text field but I couldn't
find it (setPreferredSize() or setSize() doesn't work).

Original issue reported on code.google.com by gierlasinski on 2010-10-10 18:46:21

 * *Attachment: substance.PNG![substance.PNG](https://storage.googleapis.com/google-code-attachments/tablefilter-swing/issue-2/comment-0/substance.PNG)*

(Original issue 2 last updated on 2015-04-26T00:27:05.059606+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-02-16T06:57:21+00:00)
Hi,

first, sorry for the very late reply, I had been excluded from these alerts :-(

I have just released version 4.0.0 of the library, but the issue you mention has escaped
totally my attention -and I am sure it won't be solved-.

Let me have a look to check for the best solution,

Best regards,

  Lu.

Original issue reported on code.google.com by coderazzi on 2011-02-16 06:57:21

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-02-17T00:42:13+00:00)
Hi,

I tried the substance LF, using the same Nebula skin, and I didn't find the problems
you are reporting (see attached image). Nevertheless, I cannot infer from your screenshot
the OS that you are using, I could only test it now in Windows Vista.

The size of the editor is the size of a text field, for the provided font. The border
is removed from the UI, but this should not change the required field size...

I did find other issues with Substance: the background color is not properly respected,
while the foreground works as expected. The problem is that on the selected filters,
the foreground becomes white and the background, that should become dark blue, remains
white, so the text cannot be seen: a different selection foreground is then required.

Please let me know which version are you using (Substance) and the OS, and try also
the new 4.0 tablefilter library.

Best regards,

  Lu.

Original issue reported on code.google.com by coderazzi on 2011-02-17 00:42:13

 * *Attachment: SubstanceW.png![SubstanceW.png](https://storage.googleapis.com/google-code-attachments/tablefilter-swing/issue-2/comment-2/SubstanceW.png)*

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-03-14T03:35:55+00:00)
Version 4.1.0 includes a new settings to handle this possibility: filterRowHeightDelta,
which can be set on FilterSettings and/or TableFilterHeader

Original issue reported on code.google.com by coderazzi on 2011-03-14 03:35:55

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-11-14T23:11:07+00:00)
(No text was entered with this change)

Original issue reported on code.google.com by coderazzi on 2011-11-14 23:11:07

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2015-04-26T00:27:05.070694+00:00)
Already resolved (previously, before migrating to BitBucket)