Fixes 'Your XML configuration validates against a deprecated schema.'

Does not much. Only fixes warning when PHPUnit is executed.

thanks


[Help wanted] How to get the tilt angle for a new RGBD image?

Hi, thanks for your great job.  Here is a question about the training process of SUN-RGBD.
I noticed that the axis is aligned to the gravity direction. The tilt angle is provided in your processed dataset. This means if I want to test the model with a new RGBD image taken from Kinect v2 sensor, I will also have to calculate the tilt angle. Do you have any idea how to do this? Are there any tools out of the box?
Any suggestions will be helpful. Thanks very much!

Hi,
This is a great question. I am actually very curious about it as well.
However, I do not have the answer. SUN-RGBD image frames come with a calibration R tilt matrix.
I am not sure how to do this with existing tools.
Sorry that I could not help.
Thanks,
Zaiwei

Thanks for your quick reply.
I just checked the original SUN-RGBD paper. As you said, it did mention the alignment process as follows:

For 3D annotation, the point clouds are first rotated to align with the gravity direction using an automatic algorithm. We estimate the normal direction for each 3D point with the 25 closest 3D points. Then we accumulate a histogram on a 3D half-sphere and pick the maximal count from it to obtain the first axis. For the second axis, we pick the maximal count from the directions orthogonal to the first axis. In this way, we obtain the rotation matrix to rotate the point cloud to align with the gravity direction. We manually adjust the rotation when the algorithm fails.

It also mentioned that the algorithm may fail and need to manually fix the failure cases. I was wondering how often this algorithm fails.:joy:

I checked their provided SUN RGBD toolkit and I did not find the code for their automatic algorithm.
I will email the author for this algorithm. I am also curious about how often this algorithm fails.
I will let you know if I have some updates.
Thanks for your interest in our work btw!
Zaiwei

I still did not get any response from the author.

@zaiweizhang  Thanks for your help anyway. I will try it later and will let you know if I found something useful.  For now, I am closing this issue.


(CEM-2386) Updated reference generator control and profile

This commit added a filter into the reference generator that will filter out any profiles or levels that are currently not supported by either cem_linux or cem_windows.

With the filter implemented for the reference generator, we have some control in Windows that will have its reference missing the Supported Levels option because it is a level 2.
### <IP_ADDRESS>.6 - (L2) Ensure 'Turn off printing over HTTP' is set to 'Enabled'

* Parameters:
  * `value` - [ `String` ] - *Default:* `DisableHTTPPrinting`
  * `key` - [ `String` ] - *Default:* `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers`
  * `type` - [ `String` ] - *Default:* `dword`
  * `data` - [ `Integer` ] - *Default:* `1`
* Supported Levels:
* Supported Profiles:
  * `member_server`
* Hiera Configuration Example:
```yaml
puppetlabs-cem_windows::config:
  control_configs:
    "(L2) Ensure 'Turn off printing over HTTP' is set to 'Enabled'":
      value: "DisableHTTPPrinting"
      key: "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows NT\\Printers"
      type: "dword"
      data: 1
...


Just wanted to say your license is the best.

Just wanted to say your license is the best.

@pryorda hah, thanks!! I really liked it when I came across it, so here we are :)


Enable tenanted qualified urls feature.

Epic

https://github.com/wso2-enterprise/iam-engineering/issues/638

With this PR will done following changes

Enable tenant qualified url feature by default.
Fix integration tests which are failing when tenanted qualified urls are enabled.

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6582572892

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6582572892
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6582923401

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6583555455

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6582923401
Status: failure

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6583555455
Status: success


Roll messages and roll results are omitted from exports

When doing a log export, the generated export completely ignores messages generated by eg. roll 1d20 in the chat. Since these can have significant effect on the interpretation of things, they should likely be at least optionally included.

Agree; this is a bug, and the roll info should be included.
When we have filter options for the export, we may choose to make it optional. But to fix this issue, we need to include  roll events.


aghanims_shard image error

No aghanism_shard image, the image api shows 404

Works for me: https://cdn.cloudflare.steamstatic.com/apps/dota2/images/dota_react/items/aghanims_shard.png?t=1593393829403


Bypass proxy for blob layer requests to upstream GCP artifact registry

Implements #8

@dominik-lekse can you please reopen or open a new PR for this one. According to https://github.com/ahmetb/serverless-registry-proxy/issues/8 this was never actually reviewed by the project owner.


RFM - MySQL.Workbench

https://chocolatey.org/packages/mysql.workbench

Package is updated. We can close this one.


281 make it possible to only print summary instead of entire report

Console already prints summary at the end of a report if that is needed. Workbench will be able to take care of the rest of the use case this would solve.


Front Door - GA

I would like to know when this feature (i.e. Front Door) will be generally available. Any ETA would be appreciated.

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

ID: dbadca96-7341-36d0-8a38-1c6a5c96b22d
Version Independent ID: 2fad91dc-25f8-0c7a-c21d-93986ec51145
Content: Azure Front Door Service
Content Source: articles/frontdoor/front-door-overview.md
Service: frontdoor
GitHub Login: @sharad4u
Microsoft Alias: sharadag

@TravisCragg-MSFT Where I can raise issues related to az cli for front door?

@kaushik-hemant If the issue is directly with the CLI, your best place to raise the issue is the Azure CLI GitHub repo. If the issue is with this doc, you can create a new issue at the bottom of this page.
if the issue lies more with Front Door itself, you can raise the issue on this page or on the MSDN Networking Forums.


Error when building app:checkDebugDuplicateClasses

Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.io.path.DirectoryEntriesReader found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.ExperimentalPathApi found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.FileVisitorBuilder found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.FileVisitorBuilderImpl found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.FileVisitorImpl found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.LinkFollowing found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathNode found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathRelativizer found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalk found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalk$bfsIterator$1 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalk$dfsIterator$1 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalkKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathWalkOption found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.jdk7.AutoCloseableKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.jvm.jdk8.JvmRepeatableKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.jvm.optionals.OptionalsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$1 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$2 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$3 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$4 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)

     Go to the documentation to learn how to Fix dependency resolution errors.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 37s
Exception: Gradle task assembleDebug failed with exit code 1

Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.io.path.DirectoryEntriesReader found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.ExperimentalPathApi found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.FileVisitorBuilder found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.FileVisitorBuilderImpl found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.FileVisitorImpl found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.LinkFollowing found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathNode found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathRelativizer found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalk found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalk$bfsIterator$1 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalk$dfsIterator$1 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathTreeWalkKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathWalkOption found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.jdk7.AutoCloseableKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk7-1.7.22 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22)
     Duplicate class kotlin.jvm.jdk8.JvmRepeatableKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.jvm.optionals.OptionalsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$1 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$2 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$3 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$4 found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)

     Go to the documentation to learn how to Fix dependency resolution errors.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 37s
Exception: Gradle task assembleDebug failed with exit code 1

compileSdkVersion 34
minSdkVersion 21

You are running on Kotlin 1.8.22 ?
Could you provide your build.gradle? I think this is an issue with your dependencies.

You are running on Kotlin 1.8.22 ?
Could you provide your build.gradle? I think this is an issue with your dependencies.
This is a project from scratch

    id "com.android.application"
    id "kotlin-android"
    id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

android {
    namespace "..."
//    compileSdkVersion flutter.compileSdkVersion
    compileSdkVersion 34
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "..."
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
//        minSdkVersion flutter.minSdkVersion
        minSdkVersion 21
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {}

Only version 3.5.5 works for me

After looking around online for ages, the fix(es) that worked for me were these changes in my build.gradle:
Setting sdk version to 34 and compile options to java 17
compileSdkVersion 34
compileSdk 34

compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}

// down below

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 34
}

and adding this to my dependencies (not sure if this helps), along with this configurations block
dependencies {
    implementation 'com.google.guava:guava:28.2-android'
}

// I put this block in both build.gradle and android/build.gradle... no clue what it does though...
configurations.all {
    resolutionStrategy {
        force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
    }
}

And then I ran flutter clean and then I was able to run!
(I am no expert, I literally copy pasted every solution for this issue that I found and it eventually worked, hope this helps somebody?)

The compileSdk version 34 and Java 17 changes are indeed intentional. See the changelog here https://github.com/juliansteenbakker/mobile_scanner/blob/master/CHANGELOG.md#400
I'm not exactly sure for what you need the guava dependency (I do recall it being needed for something very specific related to some Java Futures API which isn't included in the Android SDK)
For the org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22, it seems that some of your dependencies force you to do that? The mobile_scanner package already uses Kotlin 1.9.x
Side note: you shouldn't need kotlin-stdlib-jdk8 specifically, as the stdlib for jdk 7 and 8 have been merged into one.
So you should be able to just depend on kotlin-stdlib-jdk.

After looking around online for ages, the fix(es) that worked for me (with version ^4.0.0 were these changes in my build.gradle:
Setting sdk version to 34 and compile options to java 17
compileSdkVersion 34
compileSdk 34

compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}

// down below

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 34
}

and adding this to my dependencies (not sure if this helps), along with this configurations block
dependencies {
    implementation 'com.google.guava:guava:28.2-android'
}

// I put this block in both build.gradle and android/build.gradle... no clue what it does though...
configurations.all {
    resolutionStrategy {
        force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
    }
}

And then I ran flutter clean and then I was able to run!
(I am no expert, I literally copy pasted every solution for this issue that I found and it eventually worked, hope this helps somebody?)

Thank you, i was having the same problem and this does work for me

It’s exactly what @navaronbracke mentioned, update the compileSdk version to 34 and Java to 17, then you have to make sure you are using Kotlin version 1.8.22, this is modified in the build.gradle of the root directory of android, in the ‘ext.kotlin_version’ option, and that's all.

I have the same problem, running on a computer recently configured for flutter.
WINDOWS 11
JAVA ORACLE: 17.0.10
ANDROID SDK: 34
FLUTTER 3.19
the problem is reproducible even in the example application

flutter create example
flutter pub add mobile_scanner
update minSdkVersion to 21
flutter build apk

I believe that if the problem occurs even in the minimum configurations, it is something on the package side and not in my settings

I believe that if the problem occurs even in the minimum configurations, it is something on the package side and not in my > settings

If you were to update your dependencies, which would probably state versioning requirements in their changelogs (i.e. requiring a minSdk of 23), and you do forget to update your minimum SDK versions and such, that is a problem in your local project settings?

This is my solution:
Add these lines to android/local.properties:
flutter.minSdkVersion=21
flutter.targetSdkVersion=34

Then open android/app/build.gradle and change these lines:
//        minSdkVersion flutter.minSdkVersion
        minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
//        targetSdkVersion flutter.targetSdkVersion
        targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()

And in the same file (android/app/build.gradle): add this lines at the end:
configurations.all {
    resolutionStrategy {
        eachDependency {
            if ((requested.group == "org.jetbrains.kotlin") && (requested.name.startsWith("kotlin-stdlib"))) {
                useVersion("1.8.0")
            }
        }
    }
}

Hope it helps you.

Great, it worked for me!
But it is normal to have this message every time the camera is activated.

Access denied finding property "ro.hardware.chipname"

Thank you!

After looking around online for ages, the fix(es) that worked for me (with version ^4.0.0 were these changes in my build.gradle:
Setting sdk version to 34 and compile options to java 17
compileSdkVersion 34
compileSdk 34

compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}

// down below

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 34
}

and adding this to my dependencies (not sure if this helps), along with this configurations block
dependencies {
    implementation 'com.google.guava:guava:28.2-android'
}

// I put this block in both build.gradle and android/build.gradle... no clue what it does though...
configurations.all {
    resolutionStrategy {
        force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
    }
}

And then I ran flutter clean and then I was able to run!
(I am no expert, I literally copy pasted every solution for this issue that I found and it eventually worked, hope this helps somebody?)

Thank you, this worked for me.
I added/changed some code in app/build.gradle.

changed minSdkVersion from flutter.minSdkVersion to 21

defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.camera_test"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
//        minSdkVersion flutter.minSdkVersion
        minSdkVersion 21
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

added code at the bottom

configurations.all {
    resolutionStrategy {
        force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
    }
}

FYI) My flutter version is 3.19.2, dart is 3.3.0

I found another solution.

Change minSdkVersion to 21 is same.
Change org.jetbrains.kotlin.android plugin's version to 1.8.22  in android/setting.gradle.

These two are the minimum changes to make mobile_scanner:4.0.1 work on an otherwise empty project.
My current setup is:
> flutter doctor -v
[✓] Flutter (Channel stable, 3.19.5, on Microsoft Windows [Versi¢n 10.0.22631.3447], locale es-AR)
    • Flutter version 3.19.5 on channel stable at D:\diego\PROGRAMACION\Tools\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 300451adae (2 weeks ago), 2024-03-27 21:54:07 -0500
    • Engine revision e76c956498
    • Dart version 3.3.3
    • DevTools version 2.31.1

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at D:\diego\PROGRAMACION\SDKs\Android
    • Platform android-34, build-tools 33.0.1
    • Java binary at: D:\diego\PROGRAMACION\Tools\android-studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✗] Visual Studio - develop Windows apps
    ✗ Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[✓] Android Studio (version 2023.2)
    • Android Studio at D:\diego\PROGRAMACION\Tools\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)

[✓] VS Code (version 1.88.0)
    • VS Code at C:\Users\diego\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Versi¢n 10.0.22631.3447]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 123.0.6312.106
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 123.0.2420.65

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

This is my solution:
Add these lines to android/local.properties:
flutter.minSdkVersion=21
flutter.targetSdkVersion=34

Then open android/app/build.gradle and change these lines:
//        minSdkVersion flutter.minSdkVersion
        minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
//        targetSdkVersion flutter.targetSdkVersion
        targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()

And in the same file (android/app/build.gradle): add this lines at the end:
configurations.all {
    resolutionStrategy {
        eachDependency {
            if ((requested.group == "org.jetbrains.kotlin") && (requested.name.startsWith("kotlin-stdlib"))) {
                useVersion("1.8.0")
            }
        }
    }
}

Hope it helps you.

In my experience, I did not need to make any of the changes except for this...
configurations.all {
    resolutionStrategy {
        eachDependency {
            if ((requested.group == "org.jetbrains.kotlin") && (requested.name.startsWith("kotlin-stdlib"))) {
                useVersion("1.8.22")
            }
        }
    }
}

I was even able to leave the flutter.targetSdkVersion... I simply changed to minSdkVersion 21 and added the config above and it worked just fine for me. Hope it can help someone else too implement a simplified fix.

thank you this work for me

To solve the error you must go to the settings.gradle file and in the next line make the following change
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false  // before id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}

It worked for me this way (firebase was used)
"plugins {
id "com.android.application"
// START: FlutterFire Configuration
id 'com.google.gms.google-services'
// END: FlutterFire Configuration
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
android {
namespace "com.gatovolador.pruebafirebase"
compileSdk 34 //flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
    jvmTarget = '1.8'
}

sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.gatovolador.pruebafirebase"
    // You can update the following values to match your application needs.
    // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
    // aqui se cambio el minSdkVersion a la version 21
    minSdkVersion 21
    targetSdkVersion 34 //flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}

}
flutter {
source '../..'
}
dependencies {
implementation 'com.google.guava:guava:28.2-android'
}
configurations.all {
resolutionStrategy {
force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
}
}
"

It worked for me this way (firebase was used)
"plugins {
id "com.android.application"
// START: FlutterFire Configuration
id 'com.google.gms.google-services'
// END: FlutterFire Configuration
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
android {
namespace "com.gatovolador.pruebafirebase"
compileSdk 34 //flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
    jvmTarget = '1.8'
}

sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.gatovolador.pruebafirebase"
    // You can update the following values to match your application needs.
    // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
    // aqui se cambio el minSdkVersion a la version 21
    minSdkVersion 21
    targetSdkVersion 34 //flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}

}
flutter {
source '../..'
}
dependencies {
implementation 'com.google.guava:guava:28.2-android'
}
configurations.all {
resolutionStrategy {
force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
}
}
"

###You have to made following changes in your flutter project
**In build.gradle (app level) set these **
compilesdk 34
minsdk 21
targetsdk 34
javaversion 17
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add this is build.gradle (android level)
configurations.all {
resolutionStrategy {
force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
}
}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add this in buil.gradle (app level)
dependencies {
implementation 'com.google.guava:guava:28.2-android'
}
configurations.all {
resolutionStrategy {
force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
}
}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Change this like in setting.gradle , change kotlin version to 1.8.22
id "org.jetbrains.kotlin.android" version "1.8.22" apply false

Just adding  id "org.jetbrains.kotlin.android" version "1.8.22" apply false // previous 1.7.10
and adding this to app/gradle (bottom)
configurations.all {
    resolutionStrategy {
        force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
    }
}

solved the issue,


Change HookArgument cop to detect when hook has a receiver

RSpec hook has a receiver in spec_helper.rb
RSpec.configure do |config|
  config.before :each do
    something
  end
end

But currently this cop does not check hook that has a receiver.
This cop will analyse such hooks by this change.

Nice!


[r] Backport #2540 to release-1.10

Issue and/or context:
Changes:
Notes for Reviewer:

https://github.com/single-cell-data/TileDB-SOMA/actions/runs/9065612688/job/24908608501?pr=2552
dpkg: unrecoverable fatal error, aborting:
 failed to write status database record about 'r-cran-rstatix' to '/var/lib/dpkg/status': No space left on device

Placing this atop #2549


Move cargo-miri into separate package workspace

So far, cargo-miri depended on the Miri library crate. That was mostly for convenience (to avoid having to deal with workspaces), but also because until recently cargo-miri needed access to the "Miri default flags". But with MIRI_BE_RUSTC that is no longer the case, so we can remove this fake dependency. :)
@oli-obk what do you think? Also I expect the rustc bootstrap integration will need updates, hints would be appreciated. :D

Let's see if this indeed fixes the Windows rebuild weirdness.
@bors try

:hourglass: Trying commit c69189a6650bb95a1d06740c1e613774df5e4b8e with merge f874527f8ecb2d452c876581bfd6e4629ac95837...

No, it still rebuilds winapi...

@bors try

:hourglass: Trying commit d797e03c9f3c10b20a5119fc9594168e8713b3c5 with merge 4de46c3969340e2632550c942ec5593c5806659c...

:broken_heart: Test failed - status-appveyor

@bors try

:hourglass: Trying commit 623f3c7dc294622fa64c1b6ebd1354aaeaa67a5f with merge 37e2a69fa741df05430dd5c78a23c923583eeee5...

:sunny: Try build successful - checks-travis, status-appveyor
Build commit: 37e2a69fa741df05430dd5c78a23c923583eeee5 (37e2a69fa741df05430dd5c78a23c923583eeee5)

Okay I give up, winapi has too many features.^^

Oh dang... nested workspaces are not a thing so rustc tools cannot use workspaces :(

I think in that case the only thing we can do is make it two separate packages, and let the ./miri script do the dispatch to both of them (instead of letting cargo --all do that).

@bors try

:hourglass: Trying commit 3546e99a9ce71b739d7ef81c434bbeadaa37ee0e with merge 87f138f49fc9316d3058a0cc59b70bdbaabd9ca8...

@oli-obk okay I think I got something that works. The corresponding branch to update rustc bootstrap is here. However, something is odd: ./x.py --stage 0 build src/tools/miri/cargo-miri does not work, even though the tool is registered here:
thread 'main' panicked at 'Error: no rules matched src/tools/miri/cargo-miri.', src/bootstrap/builder.rs:220:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failed to run: /home/r/src/rust/rustc.3/build/bootstrap/debug/bootstrap --stage 0 build src/tools/miri/cargo-miri

@bors try

:hourglass: Trying commit 591defb6bce3950fd1fc26f2c32a418c6ebb46cb with merge c6b5f27edb384d607c740e7414e7387172d0da08...

:sunny: Try build successful - checks-travis, status-appveyor
Build commit: c6b5f27edb384d607c740e7414e7387172d0da08 (c6b5f27edb384d607c740e7414e7387172d0da08)

r? @oli-obk

@Mark-Simulacrum do you have a good idea for why ./x.py --stage 0 build src/tools/miri/cargo-miri would not work even though that tool is registered with the appropriate macro?

@oli-obk I verified that ./x.py dist miri creates a package with both miri and cargo-miri. So I think that ./x.py build problem is not a blocker.

@bors r+

:pushpin: Commit ac454a248524b8b273b17337e3d59a45772f357f has been approved by oli-obk

:hourglass: Testing commit ac454a248524b8b273b17337e3d59a45772f357f with merge 83b4222d9a7b8f47e940cefad93d4ae535649210...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: oli-obk
Pushing 83b4222d9a7b8f47e940cefad93d4ae535649210 to master...


fix: can't recognize aliyun oss NotFoundError when load manifest

Which issue does this PR close?
Closes #
Rationale for this change
Currently, the not found error won't be thrown when access an object file in the aliyun oss by oss sdk, leading to possible panic when restarting.

What changes are included in this PR?
Take a workaround way (check whether the error message contains '404' or 'not found') to detect the not found error.

Are there any user-facing changes?
None.

How does this change test
Manual test.

Codecov Report

Merging #678 (2543fb8) into main (f0b687b) will decrease coverage by 0.01%.
The diff coverage is 28.57%.

:exclamation: Current head 2543fb8 differs from pull request most recent head f9a72a6. Consider uploading reports for the commit f9a72a6 to get more accurate results

@@            Coverage Diff             @@
##             main     #678      +/-   ##
==========================================
- Coverage   67.54%   67.54%   -0.01%
==========================================
  Files         281      281
  Lines       44302    44309       +7
==========================================
+ Hits        29925    29927       +2
- Misses      14377    14382       +5

Impacted Files
Coverage Δ

analytic_engine/src/manifest/details.rs
95.47% <28.57%> (-0.47%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Probably false-positive for E999 in Python 3.11.1

Hello, in Python 3.11.1 with enabled E999 rule ruff throw error on code with catching new exception groups
try:
   ...
except* ValueError as ex:
  ...

$ ruff .
> E999 SyntaxError: invalid syntax. Got unexpected token '*'

In settings is set target-version = "py311"

Yeah good catch. We'll need to fix this upstream in RustPython.

https://github.com/RustPython/RustPython/issues/4479


Page is missing some information regarding current privacy level options.

This page doesn't mention anything about the third privacy level: "Combine data according to each files privacy level settings".  It'd be great to know how this option works.

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

ID: eb7743c4-abb7-9c9d-6089-eca63ba9ac94
Version Independent ID: c5bfefde-15ff-683c-5a79-e7210b8bf984
Content: Understand Power BI Desktop privacy levels - Power BI
Content Source: powerbi-docs/desktop-privacy-levels.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @cajslc . This issue has been assigned to the doc author for review.

Thank you for your feedback. We've put this doc request into our queue, and will review it with other documentation requests.
You might find a solution in the Power BI Community, found at https://community.powerbi.com. If not, you can get support by going to https://support.powerbi.com.


Error on server unavailable

Region and Brand of car
EU, Hyundai
Version of the integration
2.1.0
Describe the bug
Error gets raised when server is unavailable (this should be a warning). Furthermore, the {err} placeholder does not get replaced with the actual error (see first line of log below)
Debug logs if an error occurred
2022-12-20 17:55:36.116 ERROR (MainThread) [custom_components.kia_uvo.coordinator] Force update failed, falling back to cached: {err}
Traceback (most recent call last):
File "/config/custom_components/kia_uvo/coordinator.py", line 118, in _async_update_data
await self.hass.async_add_executor_job(
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/site-packages/hyundai_kia_connect_api/VehicleManager.py", line 81, in check_and_force_update_vehicles
self.update_vehicle_with_cached_state(vehicle)
File "/usr/local/lib/python3.10/site-packages/hyundai_kia_connect_api/VehicleManager.py", line 64, in update_vehicle_with_cached_state
self.api.update_vehicle_with_cached_state(self.token, vehicle)
File "/usr/local/lib/python3.10/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 232, in update_vehicle_with_cached_state
state = self._get_cached_vehicle_state(token, vehicle)
File "/usr/local/lib/python3.10/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 523, in _get_cached_vehicle_state
_check_response_for_errors(response)
File "/usr/local/lib/python3.10/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 71, in _check_response_for_errors
raise error_code_mapping[response["resCode"]](response["resMsg"])
hyundai_kia_connect_api.exceptions.APIError: Unavailable remote control - Service Temporary Unavailable

I think I fixed the placeholder issue.
As for not raising an exception are you able to help me understand why?  Did it recover correctly?  In the above I would expect it to fall back to cached if that fails throw another exception which HA caches and now knows to try again shortly.

Because it is falling back to cached data, it isn't really an error but a warning: "hey, something went wrong but no worries, I've got your back: I still remember the previous data".

I think in the above case it failed cached as well.  So we need to tell home assistant about that.  It is done via an exception.  This allows HA to know the data is no longer valid.

Another comment as I close this.  HA itself picks the warning vs level.   They catch the exception if it fails more than once levels it up to an error.  Which is why my home assistant alert section is full of issues that happened at some point since last time clearing.   I don't fully agree since it doesn't clear but nothing I can do.


Merging my updates

Major updates to interaction modeling, updated databases and misc. updates to other things
Note that all of the preprocessing, dimensionality reduction, etc. is also self-contained now.

@dzhu8 thanks for the updates! can you please fix the conflicts?
Thanks,
Xiaojie

Yes, I'll try updating main first and re-open


Update DG for add/removeParticipant to include enroll and expel

Codecov Report

Merging #229 (dede10f) into master (c951ae3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #229   +/-   ##
=========================================
  Coverage     76.61%   76.61%
  Complexity      806      806
=========================================
  Files           115      115
  Lines          2266     2266
  Branches        262      262
=========================================
  Hits           1736     1736
  Misses          455      455
  Partials         75       75

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 c951ae3...dede10f. Read the comment docs.


Make clippy happy with code emitted by impl_arg_param

Fixes some bad error message when Rust can't find a type:
// missing PathBuf import
use pyo3::prelude::*;

#[pyclass]
pub struct S;

#[pymethods]
impl S {
    #[new]
    #[args(path = "None")]
    fn new(path: Option<PathBuf>) -> PyResult<Self> {
        todo!()
    }
}

-- snip --

error[E0282]: type annotations needed for `Option<T>`
 --> src\lib.rs:7:1
  |
7 | #[pymethods]
  | ^^^^^^^^^^^^ consider giving `arg0` the explicit type `Option<T>`, where the type parameter `T` is specified
  |
  = note: this error originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)

Some errors have detailed explanations: E0282, E0412.
For more information about an error, try `rustc --explain E0282`.

Fixes https://github.com/rust-lang/rust-clippy/issues/8971
#[pyo3::pyfunction]
pub fn hash_djb2(_s: &str) -> i32 {
    0
}

warning: deref on an immutable reference
 --> src\lib.rs:3:22
  |
3 | pub fn hash_djb2(_s: &str) -> i32 {
  |                      ^^^^ help: if you would like to reborrow, try removing `&*`: `&str`
  |
  = note: `#[warn(clippy::borrow_deref_ref)]` on by default
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref

warning: `my_module` (lib) generated 1 warning

Thanks! I've paused on reviewing this one for a bit just because I've always viewed the deref juggling the macro does here as a bit janky. I finally had an idea how to introduce a PyFunctionArgument trait which should allow the macros to do less (relying on type inference instead).
I haven't quite finished off that branch, I'm hoping I'll get a chance to implement at the weekend and see what folks think.

Closing as superseded by #2503


text size inside search box

Any Option for increasing size of the font of text inside search box

I've raised PR #24 for this as a starting point


For #3602, refactor channel

For #3602 .

/run ci

/run ci

/run ci

OK, I will refactor and fix it.


Split fn_populateSheds in 3 files

Shouldn't you make 3 different files for each type ?

I should, and I will. However these scripts are being rewritten due to the occupation system feature dev. Once polished I will replace these with the new ones.

Originally posted by @ImplicitDeny in https://github.com/team-gsri/Orion/pull/15

Same as #17 : wontfix


Suggest tagging semi-detached house for 2 adjacent houses

When two house polygons are connected by a line, suggest changing them to Semi-detached house (building=semidetached_house). This should not match when there are more than 2 houses (e.g. in a terrace).
Also see #2776

@Chaz6 Thanks for the suggestion. Though unfortunately I'm not sure this would improve the data enough to bother iD users about, but I'm willing to have my mind changed.
While I acknowledge that semidetached_house is more correct than house for these situations, I can't think of a data consumer that would care about the difference.
Have you seen this mistake in practice or have any sense of how common it is? We also don't want to spend time building a validation rule that only affects a few dozen entities.

Lacking further discussion, I'm closing this as low impact.


List silently fails when containing arrays

When invoking FlushData() (as per example) on an object containing a list, the list is silently ignored.
If the basefile FlushData is made virtual, and the class implements an override FlushData() that forcibly tries to call WriteObject on the List, it throws a different error: "System.Reflection.TargetParameterCountException: Parameter count mismatch."
Here is the call:
Hdf5.WriteObject(GroupId, _ListOfArrays);

And here is the stack while inside the package:

System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(object, System.Reflection.BindingFlags, System.Reflection.Binder, object[], System.Globalization.CultureInfo)
System.Reflection.RuntimeMethodInfo.Invoke(object, System.Reflection.BindingFlags, System.Reflection.Binder, object[], System.Globalization.CultureInfo)
System.Reflection.RuntimePropertyInfo.GetValue(object, object[])
HDF5CSharp.Hdf5.WriteProperties(System.Type, object, long)
HDF5CSharp.Hdf5.WriteObject(long, object, string)

I have added support for basic collection (aka List ..)>
In your example, what is _ListOfArrays?

In the example it would be List<int[]> or List<float[]>, but I encountered the silent discard even when my List was of custom class objects. I do not recall if I tried explicitly calling WriteObject on my List when it was custom class objects.

Figured I should edit to add, if I use a custom class (call it MyContainer) to store my array and make a list of those instead, List still fails with the TargetParameterCountException above using the 610.8 version (fwiw all my previous notes were on 610.7, if that affects anything relevant).

thanks. I am able to reproduce it.

One option that I consider is for none primitive collections (e.g: list of custom type) a full dump of the object (aka byte[] of the object)  will be written. This will allow to write complex structure to the file but in this situation the h5 viewer will show "garbage" data.
This will allow to write a object to h5 file but it will be readable only by reading it back via the library

I assume the larger problem comes in how to name/factor the elements into an H5 tree structure if they are themselves classes, not in writing the underlying data (given that any single custom class works fine)?
Assuming that is it, what about an interface or abstract class for custom classes to inherit that would allow for entries to be uniquely named, but otherwise function the same with WriteObject()? Say, a "string Name" property, which would behave like Hdf5EntryName(name) when used to write a collection?
In any case, the functionality of that option sounds useful as well, even if another workaround for custom classes is found, perhaps as an alternative (lazy, frankly) write mode.

I assume the larger problem comes in how to name/factor the elements into an H5 tree structure if they are themselves classes, not in writing the underlying data (given that any single custom class works fine)?

yeah that is. since those are containers in them self, they are lacking the names o be represented in the h5 structure.

Assuming that is it, what about an interface or abstract class for custom classes to inherit that would allow for entries to be uniquely named, but otherwise function the same with WriteObject()? Say, a "string Name" property, which would behave like Hdf5EntryName(name) when used to write a collection?

That is one option. going forward I think we should have different formatters for writing. Typeless/contractless will try to write all fields/properties while different mode will write only those with h5 attributes.
Can you give small example  of such interface?

In any case, the functionality of that option sounds useful as well, even if another workaround for custom classes is found, perhaps as an alternative (lazy, frankly) write mode.

So as it is right now, you can make a class like this:
[Hdf5GroupName("Patient")]
class Patient
{
    // Fields
    [Hdf5EntryName("Firstname")]
    private string _firstname;
    [Hdf5EntryName("Lastname")]
    private string _lastname;

    public Patient()  { }

    public Patient(string first, string last)
    {
        _firstname = first;
        _lastname = last;
    }
}

If I saved this object at the top level it would look like this:

\Patient
\Patient\Firstname (= _firstname)
\Patient\Lastname (= _lastname)
If I wanted to have multiple patients saved at once, I believe I could use WriteObject() to name them uniquely one at a time using the optional groupName argument (otherwise, they use the [Hdf5GroupName()] specified at the class level), but they would still have to be separate objects to save/load independently.
Looping back to lists/arrays, the write function for those calls the GetDataType(), which only accepts primitives at the moment. My suggestion, based partly on my limited understanding of inheritance and the functionality involved, is to also implement an interface/abstract class (whichever is more convenient) that includes a Name property that is also allowed/called for in this GetDataType() function. This will allow you to catch and use custom classes that base themselves on your helper interface/class, which then contains a name that is used for writing. Something like:
public interface ICustomClass
{
    public string Name;
}
public CustomClass : ICustomClass
{
    [Hdf5EntryName("Data")]
    public int[] data;
    [Hdf5EntryName("NotData")]
    public float ndata;

    public CustomClass() { }
    public CustomClass(string objName, IList<int> inData, float infloat)
    {
        Name = objName;
        data = inData.ToArray();
        ndata = infloat;
    }
}

Then in WriteDatasetFromArray (or its calling function), when it finds the type inherits from ICustomClass, it could create a group (ListSubGroup) based on the List/Array name, call WriteObject() on each of the ICustomClass inherited objects in turn, using the Name of each object as the groupname for WriteObject:
long fileId = Hdf5.CreateFile(filename);
List<CustomClass> customList = new List<CustomClass>();
customList.Add(new CustomClass("One", dataArrayOne, floatOne); // some int[] dataArrayOne, float floatOne
customList.Add(new CustomClass("Two", dataArrayTwo, floatTwo); // some int[] dataArrayTwo, float floatTwo
Hdf5.WriteFromArray(fileId, "CustomList", customList.ToArray()); // converting to array is fine for example

This should lead to a structure like this:

\CustomList
\CustomList\One
\CustomList\One\Data // dataArrayOne
\CustomList\One\NotData // floatOne
\CustomList\Two
\CustomList\Two\Data // dataArrayTwo
\CustomList\Two\NotData // floatTwo
Which preserves the readability by other h5 readers. Reading it back might be a bit trickier, unless the Write operation also saves something like:
 \CustomList\Names // = string[] with {"One", "Two"}
to keep track of which underlying groups to grab from, or the ReadArray for custom classes also requires an IList to specify the expected names. Alternatively to both of those, the tree of the groupId to load List from could be expanded and any groups with all the dataset names for the class as subgroups could be read in - in the above example, One and Two contain "Data" and "NotData", which means they can fit in as CustomClass.

Now I get it. Nice idea! I'll give it a thought how to implement it. I may do it with a GetHdf5ObjectName (or something like that) which will allow to have custom logic for the name.. The base logic could be the name properly for example.


"Open external docs" link does nothing

https://dartpad.dartlang.org/497a203f1392bb1d0b7e on the math.log function

Thanks for the report! Fixed as part of https://github.com/dart-lang/dart-pad/pull/689.


Plan for 2.0.0-M11 :dart:

A 2.0.0-M11 was requested by Orange, so let's use this issue to organize this new release.
One BIG change :
This milestones release will include massive changes about transport layer abstraction (https://github.com/eclipse/leshan/issues/1025#issuecomment-1373824399)
This will come will lot of API changes and also some break on Redis stores data format.
About stability of the Transport layer abstraction, we have some good indicators :
1.) Those changes are include in master since begin of January and so running on leshan sandbox without reported issue.
2.) Some contributors tested it without issues (https://github.com/eclipse/leshan/pull/1398#issuecomment-1435654474, https://github.com/eclipse/leshan/issues/1222#issuecomment-1372047661)
3.) Orange also tested it and reported some bugs which are fixed in master. (#1384, #1385, #1387)
On my side, even with that I feel this is maybe a bit too soon but I'm probably too cautious.
Current modifications in master since M10 are :
d7ed1cfe6: Remove usage of deprecated API of Californium 3.8.0
3c4668b39: Integration of Californium 3.8.0
bee515350: Migration from Junit4 to Junit5.
dbe5aa218: Add some test about LwM2mObservationStore.remove()
233c209a9: GH-1384: Fix issue in LwM2mObservationStore.remove(Token)
346223b13: Add method RegistrationStore.getObservation(ObservationIdentifier)
96fcbded4: Remove redundant validation in Registration constructor
0f0464a39: Add lastEndpointUsed URI validation in Registration Builder.
c31ec7800: lastEndpointUsed in Registration should me mandatory
bdc1d7242: Fix NPE in RedisRegistrationStoreTest
250c8e2e2: GH-1387: Fix BootstrapDeleteRequest always delete all instances
a6e55d737: Add some Object Enabler validation at client creation.
73fd995b3: Fix Registration Update triggered by SUPPORTED_BINDING changes.
6a1ff2dad: GH-1376: Better to raise CodecException in LwM2mNodeSenMLDecoder.
a963d778b: Remove no more used classes (since transport layer refactoring is done)
6091fc3ba: Add Transport Layer abstraction at Bootstrap server side.
9859a330e: Add Transport Layer abstraction at Client side.
fa38111cf: Add Transport Layer abstraction at Server side.
2a2a8a7ec: GH-1374: fix NPE on server.destroy() when queue mode is disabled
5b0ccd16c: Fix Typo in RegistrationHandlerTest (givenIdenity => givenIdentity)
a851b81ba: Add MdcConnectionListener to all Demo.

More to include in M11 :
Ideally I would like to add :

[x] https://github.com/eclipse/leshan/issues/1395
(if you have opinions about it let me know commenting at this issue :point_up: )

Maybe it makes sense to add ongoing work on Redis Store too :

[x] https://github.com/eclipse/leshan/pull/1398
[x] https://github.com/eclipse/leshan/issues/1249
(@aliakseiz, @jvermillard let us know about that)

Maybe also :

[x]  https://github.com/eclipse/leshan/issues/1402

I'm currently refactoring integrations tests (https://github.com/eclipse/leshan/pull/1399), this will maybe help to find more issues about transport layer abstraction but clearly this is probably not a big deal if this is not included in M11.
If you have more ideas, please comments :point_down:
Targeted release date :
~@JaroslawLegierski, @Warmek could you give us approximate date which could be OK for you ?~
Updated : Ideally before March 13th
(Any other comments about that feel free to comments :wink:)

@JaroslawLegierski, @Warmek could you give us approximate date which could be OK for you ?

It would be great if M11 could be available before March 13th
When it comes to issue 1402 - if it can be fixed before that's fine, (but we can live without it in M11).

That means we have 2 weeks.
But I guess you want kind of code freeze  several days before the release to test it ? That means probably more 1 week or 1,25 week to work on feature just above. We will try but no guarantee.
On my side, Monday, I will pause my work on integrations tests and I will start to work on : https://github.com/eclipse/leshan/issues/1395. That lets you today, if you eventually want to provide feedback.

From my side, I will definitely finish https://github.com/eclipse/leshan/pull/1398 and will do my best to complete https://github.com/eclipse/leshan/issues/1249 as well.

I implemented #1395  with #1407 : if wanted, feedback are welcomed :slightly_smiling_face:

#1402 is now fixed.
I go back to work on "refactoring of integrations tests" (#1399) maybe I will new find bugs. :dart:  !

(I will be out of office tomorrow)

All planned tasks are now integrated into master. :tada:
Current change logs looks like :
cc9f41dfc: Use new endpoints provider API in BS server and server demos/tests
95b344d16: GH-1395: Add a way to customize DTLS Config at ProtocolProvider level
0d0b57c7d: GH-1395: Add Builder to Server/BootstrapServer EndpointFactory.
f89cd16cb: GH-1395: Add a way set Configuration with lambda in Endpoints Provider
3e6b0a594: Fix getLoggingTag in EndpointFactory
5dec807b7: Enhance error message form EndpointUriUtil.validateURI()
a7e4a5e5a: GH-1249: Allow to use custom KEYS in RedisRegistrationStore
b8d817b29: GH-1410: Fix  github action issue with impsort-maven-plugin.
8f0db2449: GH-1402:Fix Invalid datatype of Ciphersuite resource in BootstrapConfig
fd5c9c0b4: Allow to use custom KEYS in RedisSecurityStore
b7dc3cf3f: Fix typo in CONTRIBUTING.md guide
d7ed1cfe6: Remove usage of deprecated API of Californium 3.8.0
3c4668b39: Integration of Californium 3.8.0
bee515350: Migration from Junit4 to Junit5.
dbe5aa218: Add some test about LwM2mObservationStore.remove()
233c209a9: GH-1384: Fix issue in LwM2mObservationStore.remove(Token)
346223b13: Add method RegistrationStore.getObservation(ObservationIdentifier)
96fcbded4: Remove redundant validation in Registration constructor
0f0464a39: Add lastEndpointUsed URI validation in Registration Builder.
c31ec7800: lastEndpointUsed in Registration should me mandatory
bdc1d7242: Fix NPE in RedisRegistrationStoreTest
250c8e2e2: GH-1387: Fix BootstrapDeleteRequest always delete all instances
a6e55d737: Add some Object Enabler validation at client creation.
73fd995b3: Fix Registration Update triggered by SUPPORTED_BINDING changes.
6a1ff2dad: GH-1376: Better to raise CodecException in LwM2mNodeSenMLDecoder.
a963d778b: Remove no more used classes (since transport layer refactoring is done)
6091fc3ba: Add Transport Layer abstraction at Bootstrap server side.
9859a330e: Add Transport Layer abstraction at Client side.
fa38111cf: Add Transport Layer abstraction at Server side.
2a2a8a7ec: GH-1374: fix NPE on server.destroy() when queue mode is disabled
5b0ccd16c: Fix Typo in RegistrationHandlerTest (givenIdenity => givenIdentity)
a851b81ba: Add MdcConnectionListener to all Demo.

:loudspeaker: : So we will enter in small  :snowflake:  code freeze :cold_face:  until the end of the week. During this period only small bug fix will be allowed.
@JaroslawLegierski, @Warmek, @aliakseiz, @jvermillard, @cyril2maq. if you can, please :pray:  use those few days to test current master to give us more chance to have a stable 2.0.0-M11 release.

I'm trying to rebase my branch; I see some things to improve:
https://github.com/eclipse/leshan/blob/master/leshan-server-core/src/main/java/org/eclipse/leshan/server/registration/Registration.java#L350
The "last used endpoint" concept is not explained; it would be nice to add some Javadoc.

After rebasing, my code works on master :+1:

Yes we do use a RedisRegistrationStore.
Regarding the compatibility break, we have used the redis database mechanism.
We use a specific database number for this registrationStore, so we just increment the redis database number for this M11 version (so new instances will start with an empty store 😞).
We also have created a migration job which will clear previously used redis database once our M11 based application will be deployed.
So it would be great not to break this model too often !

We need to force Simon to write a migration script every time he decides to break redis compatibility :hand_over_mouth:

We need to force Simon to write a migration script every time he decides to break redis compatibility :hand_over_mouth:

I didn't even want official store implementation based on Redis in Leshan :grin:
More seriously, I guess for Registration Store the simple solution could be to just drop all the store as this is just a kind of "session" store.
If migration is really needed, I don't know what is the best move :

writing a migration script
or writing a redis implementation store which is able read previous format.

(If this is needed help from community is welcomed :wink:)

maybe we should just introduce a "version" so we can either discard or introduce some migration script?

I used the M11 release during lb retests and it seems to be working fine. I have info from my French colleagues that on their side is also  :heavy_check_mark:

@aliakseiz let me know if you plan to test this before the release ?
I plan to begin to prepare the release around : 15h UTC

About Redis store compatibility break :

#1417
#1418

All lights are green :green_circle:,  I start the release process... :construction: !

I created the release in github : https://github.com/eclipse/leshan/releases/tag/leshan-2.0.0-M11.
I think we can close this issue.


Merge master into feature/lparrott/payment-allocations-page

This pull request was automatically generated because an automated merge hit a merge conflict

Closing since work as moved to feature/payment-allocations


HDDS-1612. Add 'scmcli printTopology' shell command to print datanode…

JIRA
https://issues.apache.org/jira/browse/HDDS-1612

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
47
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

0
mvndep
14
Maven dependency ordering for branch

+1
mvninstall
543
trunk passed

+1
compile
306
trunk passed

+1
checkstyle
81
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
941
branch has no errors when building and testing our client artifacts.

+1
javadoc
168
trunk passed

0
spotbugs
338
Used deprecated FindBugs config; considering switching to SpotBugs.

+1
findbugs
529
trunk passed

_ Patch Compile Tests _

0
mvndep
20
Maven dependency ordering for patch

+1
mvninstall
464
the patch passed

+1
compile
289
the patch passed

+1
cc
289
the patch passed

+1
javac
289
the patch passed

+1
checkstyle
83
the patch passed

+1
mvnsite
1
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
746
patch has no errors when building and testing our client artifacts.

+1
javadoc
167
the patch passed

+1
findbugs
546
the patch passed

_ Other Tests _

+1
unit
263
hadoop-hdds in the patch passed.

-1
unit
1654
hadoop-ozone in the patch failed.

+1
asflicense
51
The patch does not generate ASF License warnings.

7079

Reason
Tests

Failed junit tests
hadoop.ozone.client.rpc.TestWatchForCommit

hadoop.hdds.scm.pipeline.TestRatisPipelineProvider

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-910/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/910

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle cc

uname
Linux 3ab1c3bd8e35 4.4.0-144-generic #170~14.04.1-Ubuntu SMP Mon Mar 18 15:02:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 433e97c

Default Java
1.8.0_212

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-910/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-910/1/testReport/

Max. process+thread count
4887 (vs. ulimit of 5500)

modules
C: hadoop-hdds/common hadoop-hdds/tools U: hadoop-hdds

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-910/1/console

versions
git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.


[ISSUE-283][FEATURE] Support snappy compression/decompression

What changes were proposed in this pull request?

This PR adds the support of snappy compression/decompression based on the example of https://github.com/apache/incubator-uniffle/pull/254.
Why are the changes needed?

Add a new feature.
Does this PR introduce any user-facing change?

No
How was this patch tested?

UT

Codecov Report

Merging #304 (c11ba67) into master (7d4428e) will decrease coverage by 0.46%.
The diff coverage is 36.36%.

@@             Coverage Diff              @@
##             master     #304      +/-   ##
============================================
- Coverage     60.10%   59.63%   -0.47%
+ Complexity     1413     1381      -32
============================================
  Files           175      171       -4
  Lines          9082     8709     -373
  Branches        872      853      -19
============================================
- Hits           5459     5194     -265
+ Misses         3331     3227     -104
+ Partials        292      288       -4

Impacted Files
Coverage Δ

...apache/uniffle/common/compression/SnappyCodec.java
30.00% <30.00%> (ø)

...a/org/apache/uniffle/common/compression/Codec.java
83.33% <100.00%> (+3.33%)
:arrow_up:

.../java/org/apache/uniffle/common/util/RssUtils.java
63.07% <0.00%> (-5.98%)
:arrow_down:

...che/uniffle/client/impl/ShuffleReadClientImpl.java
87.37% <0.00%> (-2.32%)
:arrow_down:

...rg/apache/uniffle/server/buffer/ShuffleBuffer.java
91.15% <0.00%> (-1.58%)
:arrow_down:

...he/uniffle/server/buffer/ShuffleBufferManager.java
81.81% <0.00%> (-0.73%)
:arrow_down:

...storage/handler/impl/DataSkippableReadHandler.java
83.78% <0.00%> (-0.60%)
:arrow_down:

...pache/uniffle/server/ShuffleServerGrpcService.java
0.86% <0.00%> (-0.01%)
:arrow_down:

...ava/org/apache/uniffle/server/ShuffleTaskInfo.java
100.00% <0.00%> (ø)

...apache/hadoop/mapreduce/v2/app/RssMRAppMaster.java
0.00% <0.00%> (ø)

... and 29 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Should we modify the document about rss.client.io.compression.codec in  the https://github.com/apache/incubator-uniffle/blob/master/docs/client_guide.md?

@jerqi Yes! I updated that config's description accordingly.

The failing test seems to be flaky. What is the way to re-trigger the test?

The failing test seems to be flaky. What is the way to re-trigger the test?

I have re-triggered the test. It passed. You can close and reopen the pr to re-trigger the all the tests. It seems that only committers can re-trigger the single test.


Auth: AD auth broken >v0.6.2

Issue submitter TODO list

[X] I've looked up my issue in FAQ
[X] I've searched for an already existing issues here
[X] I've tried running main-labeled docker image and the issue still persists there
[X] I'm running a supported version of the application which is listed here

Describe the bug (actual behavior)
As hinted in https://github.com/kafbat/kafka-ui/issues/254#issuecomment-2031470426, LDAP backend towards Active Directory in non-RBAC mode does not seem to work anymore.
The last version this is still effective with the used configuration is provectus/kafka-ui's v0.6.2.
Expected behavior
LDAP authentication is said to be seperate from RBAC par https://github.com/kafbat/kafka-ui/issues/254#issuecomment-2031871299, and as such should continue working whatever state of implementation RBAC is.
RBAC for Active Directory is considered not implemented as of yet.
Your installation details
Previous test made long ago with Docker image compiled from provectus/kafka-ui's v0.7.1
Current test made with Docker image compiled from kafbat/kafka-ui's v1.0.0
Steps to reproduce
Minimal set of environment variables to reproduce:
#LOGGING_LEVEL_ROOT: debug

AUTH_TYPE: "LDAP"
SPRING_LDAP_URLS: "ldaps://<AD URL>"
SPRING_LDAP_ADMINUSER: "CN=<CN>,OU=<OU1>,DC=<DC>"
SPRING_LDAP_ADMINPASSWORD: "<admin password>"

SPRING_LDAP_USERFILTER_SEARCHBASE: "OU=<OU2>,DC=<DC>"
SPRING_LDAP_USERFILTER_SEARCHFILTER: "<AD filter>"

Screenshots
No response
Logs
Existing session from HTTP authentication is not resumed; those are the logs after filling up the Web auth form:
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:39:52,977 DEBUG [reactor-http-epoll-4] o.s.h.c.FormHttpMessageReader: [613b0092-5] Read form fields [username, password] (content masked)
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:39:52,982 DEBUG [boundedElastic-1] o.s.s.l.a.BindAuthenticator: Failed to bind with any user DNs []
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:39:52,991 DEBUG [boundedElastic-1] o.s.s.w.s.a.AuthenticationWebFilter: Authentication failed: Les identifications sont erronées
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:39:52,992 DEBUG [boundedElastic-1] o.s.s.w.s.DefaultServerRedirectStrategy: Redirecting to '<path>/login?error'

Additional context
Working logs (v0.6.2):
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,381 DEBUG [boundedElastic-2] o.s.s.l.a.BindAuthenticator: Failed to bind with any user DNs []
[…]
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,580 DEBUG [boundedElastic-2] o.s.l.c.s.AbstractContextSource: Got Ldap context on server 'ldaps://<AD>'
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,621 DEBUG [boundedElastic-2] o.s.s.l.SpringSecurityLdapTemplate: Found DN: CN=<CN>,OU=<OU>,DC=<DC>
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,623 DEBUG [boundedElastic-2] o.s.s.l.s.FilterBasedLdapUserSearch: Found user '<user>', with FilterBasedLdapUserSearch [searchFilter=<AD filter>; searchBase=OU=<OU>,DC=<DC>; scope=subtree; searchTimeLimit=0; derefLinkFlag=false ]
[…]
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,860 DEBUG [boundedElastic-2] o.s.l.c.s.AbstractContextSource: Got Ldap context on server 'ldaps://<AD>'
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,861 DEBUG [boundedElastic-2] o.s.s.l.a.BindAuthenticator: Bound cn=<CN>,ou=<OU>,dc=<DC>
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,862 DEBUG [boundedElastic-2] o.s.s.l.u.LdapUserDetailsMapper: Mapping user details from context with DN cn=<CN>,ou=<OU>,dc=<DC>
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-06 07:33:46,862 DEBUG [boundedElastic-2] o.s.s.l.a.LdapAuthenticationProvider: Authenticated user

Hi, you're missing two essential properties:
     OAUTH2.LDAP.ACTIVEDIRECTORY: true
     OAUTH2.LDAP.ACTIVEDIRECTORY.DOMAIN: "memelord.lol"

Can you try it with the suggested properties?

I tried with those.
By domain, I suppose you meant the capitalised name of the AD notion, no the domain name used as combination of DC
Here is what I got:
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-07 15:03:47,334 DEBUG [Thread-9] j.e.security: X509Certificate: Alg:SHA256withRSA, […], Cert Id:334072978,  […]
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-07 15:03:47,335 DEBUG [Thread-9] j.e.security: X509Certificate: Alg:SHA256withRSA, […], Cert Id:-996611390, […]
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-07 15:03:47,340 DEBUG [Thread-9] j.e.security: ValidationChain:<PHONE_NUMBER>, -996611390
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-07 15:03:47,345 DEBUG [Thread-9] j.e.security:  TLSHandshake: <AD>:636, TLSv1.3, TLS_AES_256_GCM_SHA384, -996611390
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-07 15:03:47,497 DEBUG [boundedElastic-1] o.s.s.l.a.a.ActiveDirectoryLdapAuthenticationProvider: Authentication for <user>@@null failed:javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09050E, comment: AcceptSecurityContext error, data 52e, v4f7c]
kafka-ui-config_kube-kafka-ui-demo-1  | 2024-05-07 15:03:47,499 INFO  [boundedElastic-1] o.s.s.l.a.a.ActiveDirectoryLdapAuthenticationProvider: Active Directory authentication failed: Supplied password was invalid

I N-checked the password which is the one working in v0.6.2

On a side note, I saw those environment variables in https://github.com/kafbat/kafka-ui/blob/main/documentation/compose/ui-ldap.yaml, but is there other documentation about them?

@IncandescentChrysalis
As this issue is exclusively AD related and is not affecting LDAP, reproducing it becomes quite complicated, as we don't have any AD set up. Let's try to find the exact commit which breaks this for you.
Could you try these two?
provectuslabs/kafka-ui:541e4018ec251ea371fd64b198b916b9fd198d99
provectuslabs/kafka-ui:744bdb32a310306eefe8641923d712db697b1c70
Let me know if it works with the first one and doesn't with the latter.

Something is worth mentioning about the two supplemental headers you indicated to me:

OAUTH2.LDAP.ACTIVEDIRECTORY
OAUTH2.LDAP.ACTIVEDIRECTORY.DOMAIN

Using them on the old image compiling the provectus/kafka-ui v0.6.2 breaks authentication.  It is working without them.
Are you sure about those?

I tested both:

provectuslabs/kafka-ui:541e4018ec251ea371fd64b198b916b9fd198d99
provectuslabs/kafka-ui:744bdb32a310306eefe8641923d712db697b1c70

with and without those extra headers, and authentication failed everytime

This makes little to no sense honestly.
541e4018ec251ea371fd64b198b916b9fd198d99 dates back to this issue, where the changes have been tested by the other users and it's confirmed that it did work back then.
744bdb32a310306eefe8641923d712db697b1c70, on the other hand, dates back to this issue, which is about supporting LDAP in RBAC. This is one of the only PRs that could affect this and it was my best guess.
But having both not working makes no sense, even less does the fact that adding properties required to make AD work it make it worse in your case.
As setting up AD for debugging purposes is virtually impossible, and adding the fact that this is the first time I'm receiving such a report, we'd need either a test AD server provided to understand which changes might've affected it (if any) and/or other user reports on this matter. I'm putting this on hold until we get at least one of those. Please let me know if there's anything else I could do here.

It might simply come down to the fact that the two environment variables you indicated to me are improperly configured on my end.
I wrote earlier what I thought they should contain, based on guess work from their name only. The only other mention which would serve the purpose of docs I found were a Docker Compose definition, not very verbose.
Maybe more insights on what is expected there could help.
What strikes me most is that they are breaking the 0.6.2 provectus/kafka-ui, otherwise working, environment.
I suppose it is not, but is this expected?

One more case of AD auth broken after 0.6.2
https://discord.com/channels/897805035122077716/1257657156338057276/1257956792890163251

Hey, I am struggling here, what's the correct configuration for 0.7.2 provectus kafka-ui for AD?
I am using the yaml config file.
oauth2:
  ldap:
    activeDirectory: false
    activeDirectory.domain: my.domain.net

is this section correct do i miss something? the ldaps connection is in
spring:
  ldap:
    urls: "ldaps://x.my.domain.net
    ...

@Haarolean I got a solution for you!
Here is a test Docker Active Directory environment with Kafka UI in which to test authentication: IncandescentChrysalis/KafkaUI-ActiveDirectory
I can reproduce the problem with it:

Authentication works with provectuslabs/kafka-ui:v0.6.2
Authentication fails with:

provectuslabs/kafka-ui:v0.7.1
kafbat/kafka-ui:v1.0.0

To be crystal clear, authentication works in 0.6.2 and is broken since 0.7.0: I originally reported 0.7.1, which is consequentially true, but omits part of the problem.
I found the commit breaking authentication between 0.6.2 & 0.7.0: it implements provectus/kafka-ui#3700
Several things are being done there:

RBAC for Active Directory authentication, replacing the existing stub (not being used)
Change of the way the Spring configuration is being loaded
Change from HTTP Basic to form-based frontend

The first item is important: as shown in my previous comment, despite interacting with an Active Directory instance, th protocol being used is LDAP.
I strongly suspect LDAP communication with a pure LDAP authentication backend to be broken as the result since then… but I am then surprised about the lack of issues about that: does that mean no-one uses it so it went that unnoticed?
I am still fiddling with the details of the breaking commit, trying to understand what exactly broke things.
I am not fluent with the Spring framework (hack: Java!), but I see a lot of decorators popped up on top of the way configuration is loaded, all modifying the authentication flow.

I found out why my LDAP authentication was now failing.
Up to 0.6.2, the Spring LDAP user filters were loaded with:
  @Value("${spring.ldap.userFilter.searchBase:#{null}}")
  private String userFilterSearchBase;
  @Value("${spring.ldap.userFilter.searchFilter:#{null}}")
  private String userFilterSearchFilter;

meaning the corresponding environment variables were:
SPRING_LDAP_USERFILTER_SEARCHBASE
SPRING_LDAP_USERFILTER_SEARCHFILTER

Starting with 0.7.0, through the aforementioned commit, they are loaded with:
@ConfigurationProperties("spring.ldap")
@Data
public class LdapProperties {

  […]
  private String userFilterSearchBase;
  private String userFilterSearchFilter;

meaning the corresponding environment variables are:
SPRING_LDAP_USERFILTERSEARCHBASE
SPRING_LDAP_USERFILTERSEARCHFILTER

Those breaking changes were not documented in the 0.7.0 release.

@IncandescentChrysalis

meaning the corresponding environment variables are:

not really, taking spring boot's relaxed binding rules into consideration, both variants are equal. We have this LDAP compose which works perfectly fine.
I'll take a look at your example repo once I get some spare time for this, thank you.

@IncandescentChrysalis I couldn't quite run your compose on arm64 host:
activedirectory-1  | ERROR(<class 'samba.provision.ProvisioningError'>): Provision failed - ProvisioningError: Your filesystem or build does not support posix ACLs, which s3fs requires.  Try the mounting the filesystem with the 'acl' option.
activedirectory-1  |   File "/usr/lib/python3/dist-packages/samba/netcmd/domain.py", line 493, in run
activedirectory-1  |     result = provision(self.logger,
activedirectory-1  |              ^^^^^^^^^^^^^^^^^^^^^^
activedirectory-1  |   File "/usr/lib/python3/dist-packages/samba/provision/__init__.py", line 2325, in provision
activedirectory-1  |     provision_fill(samdb, secrets_ldb, logger, names, paths,
activedirectory-1  |   File "/usr/lib/python3/dist-packages/samba/provision/__init__.py", line 1965, in provision_fill
activedirectory-1  |     setsysvolacl(samdb, paths.netlogon, paths.sysvol, paths.root_uid,
activedirectory-1  |   File "/usr/lib/python3/dist-packages/samba/provision/__init__.py", line 1677, in setsysvolacl
activedirectory-1  |     raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires.  "
activedirectory-1  | + '[' -f /var/lib/samba/.setup ']'
activedirectory-1  | + echo '[ERROR] Samba is not setup yet, which should happen automatically. Look for errors!'
activedirectory-1  | [ERROR] Samba is not setup yet, which should happen automatically. Look for errors!
activedirectory-1  | + exit 127
activedirectory-1 exited with code 127

is that fixable or should I get an amd64 machine for this?

not really, taking spring boot's relaxed binding rules into consideration, both variants are equal. We have this LDAP compose which works perfectly fine.

I would kindly suggest to put the theory to the test :)
I would object that: I confirm what I wrote in my comment, all tests concur on that, and I even spent a lot of time debugging the code on the commit breaking the behaviour, and displaying those variables show they are not defined post-change.
It seems maybe the @Value decorators would have been necessary to keep for this configuration to be loaded as before, but would it break the new configuration syntax? To test is interested.
I only managed to make the commit working on the old configuration syntax by modifying the LdapProperties class with a new userFilter property of a new UserFile type, which class contained searchBase & searchFilter properties.
I could always push a branch with that example change if you want what I described as the old syntax to work.

is that fixable or should I get an amd64 machine for this?

Make sure to have a Docker environment matching your kernel/architecture.

I testes futher with 1.0.0, since the behaviour seems to have broken with 0.6.2 (not documented), but consistent since 0.7.0.
This works indeed:
SPRING_LDAP_USER_FILTER_SEARCH_BASE
SPRING_LDAP_USER_FILTER_SEARCH_FILTER

As stated before, this too:
SPRING_LDAP_USERFILTERSEARCHBASE
SPRING_LDAP_USERFILTERSEARCHFILTER

But I confirm this does not work:
SPRING_LDAP_USERFILTER_SEARCHBASE
SPRING_LDAP_USERFILTER_SEARCHFILTER

I am not pro at Spring nor its magic, so I'll leave you to understand what the Hell is going on :rofl:

Seems like the unexpected changes have been discussed here previously.
Regarding the documentation:

currently documentation is not versioned and we store only the actual info
we do not expect people to come over to kafbat with k-ui version <0.7, as 0.6 is at least one year old
I wish I could update 0.7.0 release notes, but that's in the old repo which I don't have an access to
our docs are open source as well, so perhaps if you find this important, feel free to raise a PR noting these unexpected changes somewhere

Make sure to have a Docker environment matching your kernel/architecture.

Can you elaborate? I'm running the compose you provided which is built locally (for the ad part), so there's no image architecture to match.


tests: run the test_stages category in parallel

Run the test_stages test in parallel in the github runner. This test currently takes about 1:30h to 2:30h and running it in parallel will give us big wins in terms of test time. The time is observed to go down to 0:30h to 1h.
Note that the other tests are not run in parallel. The reason is that they fail randomly, it looks like insufficient isolation between them. Some are easy to fix, e.g.:
https://github.com/mvo5/osbuild/commit/721521220b34e0054d8c89e4e919822fececd2c1 but it's probably not worth it as the other tests run a lot faster.

Sweet!


Validate Client callback_url against Client redirect_uris

https://www.pivotaltracker.com/story/show/149047283

added new Client.callback_url validation on /client/<client_id> [POST]

callback_url's {scheme}://{netloc} must match that of any of the provided redirect_urls
only triggers if callback_url is provided (i.e. the field is still optional)

modified test_auth.test_client_edit, so that client's new callback_url is also present in its list of redirect_urls

Hello @OptimusRhine! Thanks for submitting the PR.

In the file portal/views/auth.py, following are the PEP8 issues :

Line 578:24: E127 continuation line over-indented for visual indent

@ivan-c Thanks Ivan! Added description to that new validation function, and added a new negative test.


implement schema and analyzer support for on schemas and on table

Codecov Report

:exclamation: No coverage uploaded for pull request base (schema_privileges@f065d53). Click here to learn what that means.
The diff coverage is 94.11%.

@@                 Coverage Diff                  @@
##             schema_privileges    #5843   +/-   ##
====================================================
  Coverage                     ?   83.02%
  Complexity                   ?    12126
====================================================
  Files                        ?     1425
  Lines                        ?    46498
  Branches                     ?     5736
====================================================
  Hits                         ?    38607
  Misses                       ?     5224
  Partials                     ?     2667

Impacted Files
Coverage Δ
Complexity Δ

.../io/crate/analyze/PrivilegesAnalyzedStatement.java
100% <ø> (ø)
4 <0> (?)

...arser/src/main/java/io/crate/sql/SqlFormatter.java
88.04% <100%> (ø)
7 <0> (?)

sql/src/main/java/io/crate/metadata/Schemas.java
91.34% <100%> (ø)
41 <4> (?)

...ain/java/io/crate/sql/tree/PrivilegeStatement.java
85% <100%> (ø)
11 <3> (?)

...rc/main/java/io/crate/sql/tree/GrantPrivilege.java
100% <100%> (ø)
6 <2> (?)

...c/main/java/io/crate/sql/tree/RevokePrivilege.java
100% <100%> (ø)
6 <2> (?)

sql/src/main/java/io/crate/analyze/Analyzer.java
96.87% <100%> (ø)
5 <0> (?)

...src/main/java/io/crate/sql/tree/DenyPrivilege.java
100% <100%> (ø)
6 <2> (?)

.../src/main/java/io/crate/sql/parser/AstBuilder.java
93.97% <90%> (ø)
252 <8> (?)

...main/java/io/crate/analyze/PrivilegesAnalyzer.java
93.54% <90.47%> (ø)
21 <12> (?)

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 f065d53...a0c1db9. Read the comment docs.

@seut i'll do a follow up commit to refactor  getTableInfo functions since the user is not needed in both