'fetch' is undefined error in SPFX and out-of-the-box webparts

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
The Yammer Full Feed Webpart or other (custom) SPFX webparts using the http- or graph client should be able to render without any issues regarding the fetching of remote data.
Observed Behavior
When using the Graph client (or HTTP client) from our custom SPFX webparts the following issue occurs randomly (so not all the time, but sometimes):
"ReferenceError: 'fetch' is undefined
  at t.prototype.handleFetch (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/0.sp-http-msgraphclient_5ae609ae3611d0f0b2ab.js:1:5850)
  at Anonymous function (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/0.sp-http-msgraphclient_5ae609ae3611d0f0b2ab.js:1:6272)
  at Anonymous function (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-pages-assembly_nl-nl_7c0a30236f866238c82ab1edd0f121fb.js:1213:44723)
  at L (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-pages-assembly_nl-nl_7c0a30236f866238c82ab1edd0f121fb.js:8:2116)
  at T (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-pages-assembly_nl-nl_7c0a30236f866238c82ab1edd0f121fb.js:8:2232)
  at O (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-pages-assembly_nl-nl_7c0a30236f866238c82ab1edd0f121fb.js:8:2026)

This also occurs in (for example) the Yammer Full Feed webpart frequently so it's not really related to our custom SPFX webpart code. Yammer webpart shows following error:
"ReferenceError: 'fetch' is undefined
   at Anonymous function (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-yammer-full-feed-webpart_nl-nl_139b7b0791a7a8329a4f36a6e941af8b.js:132:28114)
   at Anonymous function (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-yammer-full-feed-webpart_nl-nl_139b7b0791a7a8329a4f36a6e941af8b.js:118:35158)
   at Anonymous function (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-yammer-full-feed-webpart_nl-nl_139b7b0791a7a8329a4f36a6e941af8b.js:118:34471)
   at Anonymous function (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-yammer-full-feed-webpart_nl-nl_139b7b0791a7a8329a4f36a6e941af8b.js:118:34389)
   at A (eval code:1:14872)
   at a (https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/sp-yammer-full-feed-webpart_nl-nl_139b7b0791a7a8329a4f36a6e941af8b.js:118:34182)

Steps to Reproduce
Place a Yammer Full Feed webpart (or custom SPFX webpart which uses the http- or graph client) on a page and watch the console log for errors. Since the issue occurs randomly it's hard to predict when the issue shows up.
Issue occurs regularly in Edge and IE11. Environment is SharePoint Online.

hi @michelsmit - can you provide more details on what is the custom Yammer Full Feed web part you are referring to so that we can investigate the issue with more details. Thx.

Hi @VesaJuvonen it's the Yammer Full Feed webpart which SharePoint delivers out-of-the-box. See info below taken from maintenanceMode=true:
Overview
{   "general": {     "alias": "YammerFullFeedWebPart",     "id": "cb3bfe97-a47f-47ca-bffb-bb9a5ff83d75",     "instanceId": "27520be6-1b85-4017-b814-ae8383de9091",     "isInternal": true,     "version": "0.0.1",     "environment": "2",     "userAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3; rv:11.0) like Gecko"   },   "manifest": {     "canUpdateConfiguration": true,     "version": "0.0.1",     "alias": "YammerFullFeedWebPart",     "isInternal": true,     "loaderConfig": {       "internalModuleBaseUrls": [         "https://spoprod-a.akamaihd.net/files/sp-client-prod_2019-04-12.003/"       ],       "entryModuleId": "sp-yammer-full-feed-webpart",       "scriptResources": {         "sp-yammer-full-feed-webpart": {           "type": "localizedPath",           "defaultPath": {             "default": "sp-yammer-full-feed-webpart_nl-nl_139b7b0791a7a8329a4f36a6e941af8b.js"           }         },         "@microsoft/office-ui-fabric-react-bundle": {           "type": "component",           "id": "02a01e42-69ab-403d-8a16-acd128661f8e",           "version": "1.9.0"         },         "@microsoft/sp-core-library": {           "type": "component",           "id": "7263c7d0-1d6a-45ec-8d85-d4d1d234171b",           "version": "1.9.0"         },         "@ms/sp-webpart-shared": {           "type": "component",           "id": "914330ee-2df2-4f6e-a858-30c23a812408",           "version": "1.0.25"         },         "@microsoft/sp-webpart-base": {           "type": "component",           "id": "974a7777-0990-4136-8fa6-95d80114c2e0",           "version": "1.9.0"         },         "@microsoft/sp-http": {           "type": "component",           "id": "c07208f0-ea3b-4c1a-9965-ac1b825211a6",           "version": "1.9.0"         },         "@microsoft/sp-page-context": {           "type": "component",           "id": "1c4541f7-5c31-41aa-9fa8-fbc9dc14c0a8",           "version": "1.9.0"         }       }     },     "manifestVersion": 2,     "id": "cb3bfe97-a47f-47ca-bffb-bb9a5ff83d75",     "componentType": "WebPart"   },   "webPartData": {     "id": "cb3bfe97-a47f-47ca-bffb-bb9a5ff83d75",     "instanceId": "27520be6-1b85-4017-b814-ae8383de9091",     "title": "Gesprekken",     "description": "Yammer-feed voor groep, gebruiker, onderwerp of startpagina weergeven",     "serverProcessedContent": {       "htmlStrings": {},       "searchablePlainTexts": {},       "imageSources": {},       "links": {}     },     "dataVersion": "1.0",     "properties": {       "type": "All",       "threadCount": 4,       "title": "Yammer gesprekken"     }   } }

Can you provide some more information?  Does it happen on all browsers, or just IE/Edge?  Is it possible that you have installed your own polyfill on the page via an app extension or anything?

Hi @patmill, issue occurs only in IE11 and Edge. We don't polyfill the 'fetch' method in our code since this is taken care of in SP/SPFX. It also most of the times works as expected, but frequently the console raises the error 'fetch' is undefined', this in our custom web part but also in (for example) the Yammer Full Feed web part.

@michelsmit said:

We polyfill the 'fetch' method in our code as PNP provides the fetch polyfill in @pnp/polyfill-ie11 npm package.

Are you aware the SPFx already polyfills the fetch API by default as part of the HttpClient with the whatwg-fetch polyfill? Could be the two polyfills are conflicting...

Have you reviewed the recently published supported browsers docs here: https://support.office.com/en-us/article/Which-Browsers-Work-With-Office-Online-AD1303E0-A318-47AA-B409-D3A5EB44E452
Pay special attention to the IE11 node for the modern experience & IE's document mode.
If you continue to have the issue, please comment back with some additional context. Thanks!


Update Icons

The I've included the .ai for these as well. The icon.icns file hasn't been generated yet (don't have access to a Mac right now).
I noticed you have a background for the macOS installation - do you have the installer set to a custom size and everything? I can update that graphic as well. Here's some more information on the custom finder windows.
I ended up using this to merge all the .png files into one .ico file.

I can't turn these into a mac icon. I'm not sure why, and when I open up psi.ai I get two errors:

Could not find the linked file "psi-16-psi.png"
The Constantina font is not available on my computer

For the font issue we should probably convert the letters to shapes, that way we don't have to embed the font in the source file.
I'm also wondering if we want to commit the .ai file, or if we should be using .svg as the primary format. If we use .svg than people who use Inkscape and other vector programs can contribute improvements too.

Sorry for that oversight - I've rasterised the linked file, and outlined the text.
Does the icon merging provide any errors? I noticed there were a few more icons (more @2x ones) than what was in the documentation.
I think committing the source file in the original format (.ai in this case) is fine - I mostly committed it so I wouldn't lose it :) Illustrator is pretty standard, and some of the features aren't supported in .svg to my knowledge, and we'd be losing information by converting it.

It's basically all some variation of this:
build/icon.iconset:warning: Missing image for variant named 'ixon' resource error: 'Failed to load image at<EMAIL_ADDRESS>
All the things I've read suggest it's either a naming error or a lack of an alpha channel, but those seem fine in this case. I'm guessing it has something to do with some PNG specific option that was selected, so if I can export files that work I will document the settings.

OK, looks like iconutil is picky about what files exist, not just the naming for the files it uses. I've documented the easiest export option, and updated the README.me. If it looks good to you we can squash and merge.

Ah, gotcha. Nice. Sounds good!


Websocket support for nginx SSL proxy

Hi! I am working with websockets and the standard configuration did not allow ws and wss connections. This should fix that. Let me know what you think.

I signed it!

Will this PR be merged?


patch: Implement event groups in dynamodb event storage adapter

Description 🦫
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change 📝
Please delete options that are not relevant.

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

How Has This Been Tested? 🧑🔬
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration: 🔧

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist: ✅

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Okpm si on se promet qu'on ajoute les tests unitaires vdd :)


HDFS-16373. Fix MiniDFSCluster restart in case of multiple namenodes.

Description of PR
Fixes MiniDFSCluster namenode restart in case of multiple namenodes.
How was this patch tested?
Added UT
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 52s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
31m 25s

trunk passed

+1 :green_heart:
compile
1m 26s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
1m 20s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
1m  4s

trunk passed

+1 :green_heart:
mvnsite
1m 30s

trunk passed

+1 :green_heart:
javadoc
1m  3s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 31s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 12s

trunk passed

+1 :green_heart:
shadedclient
22m 19s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 14s

the patch passed

+1 :green_heart:
compile
1m 19s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
1m 19s

the patch passed

+1 :green_heart:
compile
1m 14s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
1m 14s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 53s
/results-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs-project/hadoop-hdfs: The patch generated 4 new + 142 unchanged - 0 fixed = 146 total (was 142)

+1 :green_heart:
mvnsite
1m 23s

the patch passed

+1 :green_heart:
javadoc
0m 50s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 24s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 17s

the patch passed

+1 :green_heart:
shadedclient
22m 11s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
358m  6s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 49s

The patch does not generate ASF License warnings.

456m  7s

Reason
Tests

Failed junit tests
hadoop.hdfs.server.namenode.TestFSImage

hadoop.hdfs.TestDFSStripedOutputStreamWithFailureWithRandomECPolicy

hadoop.hdfs.server.namenode.ha.TestBootstrapStandby

hadoop.hdfs.server.blockmanagement.TestRBWBlockInvalidation

hadoop.hdfs.TestDFSStripedOutputStreamWithFailure

hadoop.hdfs.tools.TestDFSZKFailoverController

hadoop.hdfs.qjournal.TestNNWithQJM

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/4/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 6eaaf97e40c1 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / e9e5d5daf2ebd59da982a7b627e9363b6146606c

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/4/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/4/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 52s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 31s

trunk passed

+1 :green_heart:
compile
1m 26s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
1m 22s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
1m  3s

trunk passed

+1 :green_heart:
mvnsite
1m 34s

trunk passed

+1 :green_heart:
javadoc
1m  4s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 32s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 16s

trunk passed

+1 :green_heart:
shadedclient
22m 26s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 17s

the patch passed

+1 :green_heart:
compile
1m 19s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
1m 19s

the patch passed

+1 :green_heart:
compile
1m 12s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
1m 12s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 52s

the patch passed

+1 :green_heart:
mvnsite
1m 17s

the patch passed

+1 :green_heart:
javadoc
0m 50s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 27s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 16s

the patch passed

+1 :green_heart:
shadedclient
22m 10s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
224m 44s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 48s

The patch does not generate ASF License warnings.

324m  1s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/8/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 7f6c838a7efb 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / c0a82f949a72ce16418b2b686337094d753da81a

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/8/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/8/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 16s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
34m 35s

trunk passed

+1 :green_heart:
compile
1m 30s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
1m 22s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
1m  3s

trunk passed

+1 :green_heart:
mvnsite
1m 39s

trunk passed

+1 :green_heart:
javadoc
1m 13s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 27s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 21s

trunk passed

+1 :green_heart:
shadedclient
23m  1s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 22s

the patch passed

+1 :green_heart:
compile
1m 16s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
1m 16s

the patch passed

+1 :green_heart:
compile
1m 15s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
1m 15s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 51s

the patch passed

+1 :green_heart:
mvnsite
1m 15s

the patch passed

+1 :green_heart:
javadoc
0m 51s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 23s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 16s

the patch passed

+1 :green_heart:
shadedclient
22m 53s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
541m 36s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 52s

The patch does not generate ASF License warnings.

644m 55s

Reason
Tests

Failed junit tests
hadoop.hdfs.TestViewDistributedFileSystemContract

hadoop.hdfs.server.blockmanagement.TestRBWBlockInvalidation

hadoop.hdfs.qjournal.TestNNWithQJM

hadoop.fs.viewfs.TestViewFileSystemOverloadSchemeHdfsFileSystemContract

hadoop.hdfs.server.namenode.ha.TestSeveralNameNodes

hadoop.hdfs.server.namenode.ha.TestBootstrapStandby

hadoop.hdfs.web.TestWebHdfsFileSystemContract

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/7/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux d78d83e461b5 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / f00a2b81dcfcdffb9c2736c9be9b6ccc00234591

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/7/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/7/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 17s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  2s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
34m 55s

trunk passed

+1 :green_heart:
compile
1m 28s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
1m 20s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
0m 59s

trunk passed

+1 :green_heart:
mvnsite
1m 28s

trunk passed

+1 :green_heart:
javadoc
1m  4s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 28s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 23s

trunk passed

+1 :green_heart:
shadedclient
25m 35s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 20s

the patch passed

+1 :green_heart:
compile
1m 24s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
1m 24s

the patch passed

+1 :green_heart:
compile
1m 14s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
1m 14s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 54s

the patch passed

+1 :green_heart:
mvnsite
1m 20s

the patch passed

+1 :green_heart:
javadoc
0m 52s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 23s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m 26s

the patch passed

+1 :green_heart:
shadedclient
25m 27s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
380m 20s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 41s

The patch does not generate ASF License warnings.

488m 26s

Reason
Tests

Failed junit tests
hadoop.hdfs.TestHDFSFileSystemContract

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/9/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 017f040cb14d 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / c0a82f949a72ce16418b2b686337094d753da81a

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/9/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3756/9/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

Thanks for fixing it, @ayushtkn. Thanks for your review, @virajjasani and @tomscut.


Allow "Add Camera Zoom/Zooming" to work before the opponent sings

I really need it, if anyone don't need it just do setProperty('camZooming', false); or idk???

bruh


licenses endpoint 400 response

I'm a JFrog customer with the following license info: {   "type" : "Enterprise",   "validThrough" : "N/R",   "licensedTo" : "Artifactory Online Dedicated",   "subscriptionType" : "enterprise_xray_team" }
When I try to use this provider I get the following error:
Error:  400 GET https://opploans.jfrog.io/artifactory/api/system/licenses/ {   "errors" : [ {     "status" : 400,     "message" : "Artifactory Online does not require license, Please contact<EMAIL_ADDRESS>for further assistance if required."   } ] }
If I change https://github.com/jfrog/terraform-provider-xray/blob/94fbbb8fc22d715ffbd744222e7ebfcc9165b5d1/pkg/xray/provider.go#L158 to be _, err := client.R().SetResult(&license).Get("/artifactory/api/system/license/") (singular), and re-install the provider it works without error. The JFrog API docs reference "/licenses" not "/license" so I'm not sure if the docs are wrong or what's up with that.

That's interesting. The documentation for that call is here.
The singular form is not mentioned there. We will check with the core product team after the weekend and let you know. Thanks!

SaaS instances have different license API endpoint than On-Prem. And, unfortunately, it's not documented. We will fix it this week.

Hi @codebop, it's fixed. Also, we've fixed the documentation. Thanks for the contribution!


network: add enableDrainPostDnsRefresh to iOS

Signed-off-by: Rafal Augustyniak<EMAIL_ADDRESS>Description: Expose an option to enable connections draining post dns refresh on Engine iOS builder. This change was accidentally not implemented as part of https://github.com/envoyproxy/envoy-mobile/pull/2225.
Risk Level: Low, addition of a new functionality.
Testing: Unit
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

Can you or @goaway follow up with updates to the docs and changelog in the next few days?

Sure, I will let @goaway handle it as he was planning to do this I think. If not I will follow up on my own.

@jpsim added release notes in 39d5934


[wrong repo, but lost] GmailApp.createDraft() should allow optional arguments

Hello!
I think the arguments for the GmailApp.createDraft(recipient, subject, body) method should be optional.
Case in point: Linking composition to a "new message" button without context (as opposed to a contextual wholly programmatic strategy).
Example callback:
function composeEmailNewCallback(e) {
    Logger.log("Composing new draft.");
    return CardService.newComposeActionResponseBuilder()
        .setGmailDraft(GmailApp.createDraft("", "", ""))
        .build();
}

Clearly, the three zero length strings are needless for the programmer. GmailApp.createDraft() should suffice.
Thanks!
I know this is the wrong place, but I have no idea where this should be posted. Please let me know the correct place and then I'll delete and re-post elsewhere.

As per the Apps Script support page, feature requests should be posted to the issue tracker.


Inefficient Usage of Java Collections

Hi,
We find that there are several inefficient usages of Java Collections:

The contains method is invoked upon a list object. We recommend replacing it with a HashSet.
There is no iteration occurring upon a TreeMap, thus the insertion order does not matter. We recommend replacing it with a HashMap.

We discovered the above inefficient usage of containers by our tool Ditto. The patch is submitted. Could you please check and accept it? We have tested the patch on our PC. The patched program works well.
Bests
Ditto

hello @DittoTool
i took a quick look, and beside it not compiling:

850c7a5 getWeblogHandleLetterMap() can't be changed since it is a public service and returns an alphabetically sorted index
7e46a11 RollerPermission would need more work, but since roller has very few permissions, it wouldn't really make a difference performance wise. Additionally: the permissions are persisted as comma separated String, so changing the order randomly might lead to other problems and would need more investigation and testing.
b24e89c is example code which uses a hardcoded list of 3 items.

please don't claim that you tested a PR when the changes don't compile (i will give you the benefit of the doubt and assume that the commit is missing something).
(i can't find dittotool on the apache contributors list https://people.apache.org/committer-index.html, so you might have to sign the CLA first before contributing to an apache project: https://www.apache.org/licenses/contributor-agreements.html )


move parse_address and sockaddr_utils out of iomgr directory

These libraries aren't really part of iomgr; they're gRPC-internal utility functions.  We will need to continue to support these functions even after the move from iomgr to EventEngine, so moving them to their own directory makes sense.
(These functions do use grpc_resolved_address, which is part of the iomgr API, and they will need to be changed to instead use EventEngine::ResolvedAddress as part of the migration.  But that will be handled as part of changing gRPC code to directly use the EventEngine API instead of iomgr API when we're ready to do that.)

Needs an import reordered for the clang-format check to be happy, otherwise mostly LGTM. I feel these might be better situated in the src/core/lib/event_engine folder when it drops, since these functions will inherently become non-member, non-friend functions that operate on grpc_event_engine::EventEngine::ResolvedAddress. Do you want to wait and do the migration later so we don't end up doing it twice?

See my comments in #26026.  I don't actually think these are going to be part of EventEngine.  This is gRPC internal code that uses the iomgr or EventEngine APIs.  When we change the gRPC code to use the EventEngine API directly instead of using the iomgr API, this code will need to be converted from using iomgr types like grpc_resolved_address to EventEngine types like EventEngine::ResolvedAddress, just like code that uses (e.g.) the iomgr grpc_endpoint API will need to be converted to use the EventEngine::Endpoint API instead.

Super, thanks!


Use generate as API?

So Iv'e got a generator.js file working fine locally using a global command when I'm in the same directory as the file.
However I'm wanting to also trigger it via another node script without having to call the commandline.
The docs said it can be used via both cli and api, but I see no info anywhere on how to trigger a generator.

Hi @Truemedia, thanks for creating an issue. I can help you get everything working.

The docs said it can be used via both cli and api, but I see no info anywhere on how to trigger a generator.

Sorry about the lack of documentation, we're actively working on new docs (and were hiring a techical writer, in case you happen to know someone who might be interested).
API usage
To use the API, start by creating an instance of Generate, then you can do anything with the instance of Generate that you would do inside a generator.
For example, you can define tasks similar to how you would define tasks with gulp:
const Generate = require('generate');
const app = new Generate();

app.task('foo', cb => cb());
app.task('bar', cb => cb());
app.task('baz', cb => cb());
app.task('default', ['foo', 'bar', 'baz']);

// To run tasks, use the `.build()` method. The following
// will run the "default" task, which in turn will run
// the "foo", "bar" and "baz" tasks
app.build('default', err => console.log(err || 'done!'));

Generators
In case it helps, the following examples should take the mystery out of how generators work.
Generators are just functions that take an instance of Generate, so by wrapping the code from the previous example in a function, we can create a generator:
 // "app" is the instance of Generate
function generator(app) {
  app.task('foo', cb => cb());
  app.task('bar', cb => cb());
  app.task('baz', cb => cb());
  app.task('default', ['foo', 'bar', 'baz']);

  app.build('default', err => console.log(err || 'done!'));
}

When run by command line, Generate's CLI creates the instance of Generate for the generator by dong somethign like this:
#!/usr/bin/env node

const Generate = require('generate');

// get the path to the generator specified by the user
const generatorPath = '/path/to/generator/specified/by/user/generator.js';
const generator = require(generatorPath);

// create an instance of Generate for the generator
// (if multiple generators are chained/run consecutively,
// a separate instance of Generate is created for each generator)
const app = new Generate();
generate(app);

// next, if the user specified a task to run, the CLI
// runs that task, otherwise the CLI runs the "default" task
// on the generator. Something like this:

app.build(argv[0] || 'default', console.log(err || 'done!'));

If you're familiar with gulp, a generator.js file is similar to a gulpfile.js wrapped in a function, which allows Generate's CLI to create the instance.


Not working in HA 2024.02

I receive the error: Querying [1 - 125] failed with exception [OSError: [Errno 30] Read-only file system]
HA Version:

Core: 2024.2.0
Front-end: 20240207.0

Integration Version: 1.5.1
Model: deye_4mppt

I receive the error: Querying [1 - 125] failed with exception [OSError: [Errno 30] Read-only file system]
HA Version:

Core: 2024.2.0
Front-end: 20240207.0

Integration Version: 1.5.1
Model: deye_4mppt

Also failing for me.

Same Problem here, freshly pulled the addon.
If i want do use the workflow:

If i configured manually:
`
Logger: homeassistant.config
Source: config.py:1518
First occurred: 09:58:29 (1 occurrences)
Last logged: 09:58:29
Platform error: sensor - Exception importing custom_components.solarman.sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 847, in get_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 864, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1310, in _find_and_load_unlocked
File "", line 488, in _call_with_frames_removed
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 994, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/solarman/init.py", line 9, in
from .const import *
File "/config/custom_components/solarman/const.py", line 9, in
LOOKUP_FILES = (os.listdir(os.path.dirname(file) + '/inverter_definitions'))
^^
NameError: name 'os' is not defined. Did you forget to import 'os'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config.py", line 1518, in async_process_component_config
platform = p_integration.get_platform(domain)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 856, in get_platform
raise ImportError(
ImportError: Exception importing custom_components.solarman.sensor
`

As with the newest HomeAssistant 24.2 update a new Python version 3.12 was shipped as well, I assume the error might be related to this.

I made something a little insane but worked for me... I run a full backup, reinstalled my HA in the latest version, restored the backup and it's working so far.
Don't know why or how, but it is... LoL

I had this problem too, fixed by downgrading docker to 24.0.9 as suggested here

Just FYI: A ha core rebuild would also fix this issue, as suggested later in the same thread mentioned by @RaeesD here
So it is more clean and you don't have to mess around with downgrading anything👍

I would also add that the Deye/Sunsynk add-on supports the Solarman dongle, I've migrated to that a few months ago and enjoying up to 10s polling intervals for certain registers. Just use the dev build for now to address intermittent disconnection issues.


Paypal plugin

Description:
The plugin sends the request and offer list to a plugin running on the same node with aurora.
It receives the response (sorted offers) from the plugin, and proceeds the task assignment process.
Testing Done:

Performance & Scalability tests
Failover test.
Plugin failure test.

Is this PR on the right repo? why is the package com.paypal.aurora?

Hey @mauri, glad to see you're still around 😄 . We'll probably change the packaging name but we're upstreaming an offer sorting module that's able to use an external program with a defined interface to sort offers. The reason this is an HTTP interface is because we wanted to be able to use a program written in a different language to do this (we wrote ours in Go).
We may maintain this sorter in a different repo but we figured we'd try to upstream it first.

@ridv @zorro786 Can you guys take another pass?


Random quote generator

Describe the project you want to add with tech stack

The web page will generate random new quotes and can be copied form there.
The quote copied then it displays on the screen that it is copied.You can patse the quote.One can refresh to generate new quote.
Expected behavior

Made using html,css,js.
Screenshots (optional)

Additional context (optional )

I can work on this issue.


Specializing toml::from for Eigen types

The following code will complain about toml::get being ambiguous.
The cause appears to be that Eigen::VectorXd believes it is constructible from a toml::value (static_assert is true). But in reality it is not.
#include <eigen3/Eigen/Dense>
#include <toml.hpp>

namespace toml {

    template<>
    struct from<Eigen::VectorXd>{
        static Eigen::VectorXd from_toml(const value& v){
            Eigen::VectorXd m;
            int rows = v.size();
            m.resize(rows);
            for (int i = 0; i < rows; ++i) {
                m << v.at(i).as_floating();
            }
            return m;
        }
    };

}

int main() {
    using namespace toml::literals;

    const auto root = u8R"(
        vec = [1,2,3]
    )"_toml;

    static_assert(std::is_constructible<Eigen::VectorXd , const toml::value&>::value, "");

    auto &v = toml::find(root,"vec");

    auto vec = toml::get<Eigen::VectorXd>(v);

    return 0;
}

I am not a complete stranger to template programming but, I can't figure out why Eigen::Vector thinks it is constructible
from a toml::value. I speculate it may be because Eigen tries to allow initializing from things that look like they are iterable?
Is there a workaround, or am i missing something else entirely?
Thank you for your time!

Sorry for the late response and thank you for reporting the issue.
I reproduced the problem with Eigen 3.3.7 in my local environment. I will look into it. I will comment as soon as I figure out the reason.

It seems that, as you suggested, it is because of the constructor of template<typename T> explicit Eigen::Matrix::Matrix(const T& x). It makes std::is_constructible<Eigen::Matrix, toml::value> true and it conflicts with the toml::from. In Eigen 3.3.7, it is defined at ${include}/eigen3/Eigen/src/Core/Matrix.h:291.
I think Eigen has it to make Matrix constructible from any of a scalar, a vector or a matrix. But since template<T> Matrix(const T& x) basically matches to almost anything, hence it makes Matrix constructible from toml::value.
I'm now trying to add precedence over the existing conversion methods, such as from<T> > from_toml > constructor, and it seems to be possible (at least with GCC). Once I have succeeded, I will merge it.

I make toml::from and from_toml() always precede over a constructor. It makes your code compile, I think.
But, in your example, you defined vec elements as integers, so it will report a type error. It is required to be [1.0, 2.0, 3.0] or you need to check the types of elements in from_toml.


can't test response if controller method sends e-mail

I write a test that make a post to one of my controllers. Inside the controller I send an e-mail with the default rails support (Class.method.deliver) and then redirect to a specific URL. When the test run I get the following error:
Failure/Error: response.should redirect_to(my_system_url)
Expected response to be a <:redirect>, but was <200>
I also can't make tests like flash[:error].should =~ /pattern/. In this case I get the following:
Failure/Error: flash[:error].should =~ /pattern/
expected: /pattern/
got: nil (using =~)
I use these kind of expectations all over the place. Only in this place, where I send e-mail, the test doesn't work.

Hello, please post questions like these to the RSpec mailing list, you'll get a lot more eyeballs on your issue. This is more of a "how to", than a "I found a bug".
Watch your test.log file when the spec runs. It will show you that it is not redirecting, but doing something else. Also, I would mock the call to the mailer.


test: exclude content in markdown comments

Expected Behavior
The markdown comment in the actual behavior section has a codepen link. The action will request more info since it is set to exclude content in markdown comments
Actual Behavior
Markdown comment below:

success


Asset tokens docs

Related issue: https://github.com/six7/figma-tokens/issues/1265
Name doc: Asset tokens
Video walk through:
Doc:

I'll create a video explaining

how to create them
how to apply them
how to effectively use them for e.g. swapping Logos
Mention the caveat about the CORS issue

The docs itself should probably contain some information on the token type (what value "value" needs to be, type) as well as information about the CORS header that people will need to set. Or use a CORS Proxy.


Add comment setter to PassthroughDecoder

See discussion thread on this.
Feel free to close or change if's not aligned with the requirements.

That seems pretty specific for a not-so-common use case? We basically try to provide the audio files from Spotify as best as we can, unaltered. Any other opinions?
Don't know what other metadata you are now missing but maybe it'd be better to extend the PassthroughDecoder to pass that along. e.g. in #655 it's been asked to pass normalisation data.

That seems pretty specific for a not-so-common use case? We basically try to provide the audio files from Spotify as best as we can, unaltered. Any other opinions?

My goal is to add Vorbis text comments with TITLE, ARTIST, ALBUM, TRACKNUMBER, DATE and GENRE so that those metadata entries are shown correctly in the audio player. The original files from Spotify do not provide this.
At least to me it seems like this would be a common goal for people that use the PassthroughDecoder to pipe something to another audio player.

That seems pretty specific for a not-so-common use case? We basically try to provide the audio files from Spotify as best as we can, unaltered. Any other opinions?

My goal is to add Vorbis text comments with TITLE, ARTIST, ALBUM, TRACKNUMBER, DATE and GENRE so that those metadata entries are shown correctly in the audio player. The original files from Spotify do not provide this.

I see. Well that shows how experienced I am with the passthrough decoder 😆
I agree that your use case is sound.
You could argue it's not exactly passthrough, but more like reconstructing Ogg Vorbis files to the fullest extent.
One thing I'm vigilant of is legal implications. I think it's a good thing that this project steered away from features that are in obvious breach of Spotify ToS or make it easy to do so. For one thing, that meant not introducing functionality that made it too easy to download files outside of the Spotify. The passthrough decoder borders on this as-is and making Ogg Vorbis files even more accessible, well...
This may just be me though so again I welcome others to chime in.

Unless some else disagrees, I'm going to say no to this one. We pass through the actual comment field that Spotify provides, and I that's exactly what it says on the tin.


add support for more JSON_TABLE() functionality

In the description, can we get a list of the new functionality supported?


Segmentation fault (0.78.1)

Looks similar to the area you were already in recently?
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000b24dd6 in v8::Object::Has(v8::Local<v8::Value>) ()
[Current thread is 1 (Thread 0x7f58e66eb740 (LWP 3181))]
(gdb) bt
#0  0x0000000000b24dd6 in v8::Object::Has(v8::Local<v8::Value>) ()
#1  0x00007f58de448f90 in MakeCallback (persistent=..., name=name@entry=0x7f58de582497 "ondtlsstate", argc=1, argv=argv@entry=0x7ffe16774f90) at ../src/media-server_wrap.cxx:1661
#2  0x00007f58de4500f8 in DTLSICETransportListener::onDTLSStateChanged(DTLSICETransport::DTLSState)::{lambda()#1}::operator()() const (__closure=0x7ffe16774fd0) at ../src/media-server_wrap.cxx:2253
#3  std::_Function_handler<void (), DTLSICETransportListener::onDTLSStateChanged(DTLSICETransport::DTLSState)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...)
    at /usr/include/c++/7/bits/std_function.h:316
#4  0x00007f58de44e3f3 in std::function<void ()>::operator()() const (this=0x7ffe16774fd0) at /usr/include/c++/7/bits/std_function.h:706
#5  MediaServer::async_cb_handler (handle=<optimized out>) at ../src/media-server_wrap.cxx:1802
#6  0x0000000000a6f52f in uv__async_io (loop=0x2655860 <default_loop_struct>, w=<optimized out>, events=<optimized out>) at ../deps/uv/src/unix/async.c:118
#7  0x0000000000a80dd8 in uv__io_poll (loop=loop@entry=0x2655860 <default_loop_struct>, timeout=0) at ../deps/uv/src/unix/linux-core.c:379
#8  0x0000000000a6fe6b in uv_run (loop=0x2655860 <default_loop_struct>, mode=UV_RUN_DEFAULT) at ../deps/uv/src/unix/core.c:364
#9  0x0000000000904725 in node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&) ()
#10 0x000000000090297f in node::Start(int, char**) ()
#11 0x00007f58e5198b97 in __libc_start_main (main=0x8bbd50 <main>, argc=2, argv=0x7ffe16779328, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe16779318)
    at ../csu/libc-start.c:310
#12 0x00000000008bbe85 in _start ()

Yes, seems to be the seam piece of code failing as always. I think that the issue happens when the callback runs after the GC for the listener object has been executed (because the this object has been already disposed). Will think on a reliable way of reproducing it and ensuring the fix works for once.

Many thanks

ok, I have forced the dtls even to be fired on the c++ object destructor so I was able to reproduce the issue both with gc() and Mediaserver.terminate().
The patch fixes both caes and I am not able to reproduce it anymore. Let's see if we can definitively are able to close this and there are no regressions about mem leaks...


False positive: field access in condition of 'assert' does not recognize field assignment on line above (in constructor)

Configuration:

NullAway version 0.75, through Maven 3.6.1.
Java run-time 11.
Using the Java 11 compiler plug-in infrastructure directly, using argument line:
<arg>-Xplugin:ErrorProne -Xep:NullAway:WARN -XepOpt:NullAway:AnnotatedPackages=net.java.otr4j</arg>

Field access in assert condition in constructor, with field assignment on the line directly above the problematic one. See https://github.com/otr4j/otr4j/blob/master/src/main/java/net/java/otr4j/messages/SignatureX.java#L54
Result: [WARNING] /home/danny/dev/otr/otr4j/src/main/java/net/java/otr4j/messages/SignatureX.java:[54,34] [NullAway] read of @NonNull field signature before initialization
This problem does not occur when assert line is replaced with if-statement.

Thanks for the report!  This is definitely a bug.  It may relate to how assertions are modeled in our underlying dataflow analysis library.

@msridhar Can confirm I am able to repro this. Taking a quick look to see if I can figure out a fix, will at least do a PR with the repro if not.

So, basically, this is what's happening:

Because we skip assertions in the underlying dataflow analysis, AnalysisResult.getNodesForTree(...) will return null for every node inside an assert statement.
This means AnalysisResult.getStoreBefore(...) will also return null for the same tree.
The problem then is here, where we treat a missing store the same as a store not including the given path for initialization checking: https://github.com/uber/NullAway/blob/master/nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessAnalysis.java#L145

I see two points of intervention here:
A) We explicitly filter any paths that are enclosed by assert in NullAway.checkForReadBeforeInit, unless assert checking is enabled in Config.
B) We treat "missing store" and "store does not include path" differently in AccessPathNullnessAnalysis.getNonnullFieldsOfReceiverBefore and .getNonnullStaticFieldsBefore(). This can be:
B1) Throwing an exception
B2) Adding a helper method like AccessPathNullnessAnalysis.isAnalyzedTreePath(...)
A is a bit hacky, but less likely to have a performance hit or cause us to miss something we don't intend to miss (not sure of all the cases under which the store can be null).
Also, there is:
C) Somehow make assert statements populate the dataflow analysis Tree -> Node and Node -> Store maps but not update the access paths on the store (e.g. treat all expressions there as "read-only" during dataflow.
This might need CF changes...
@msridhar thoughts?

This is fixed by #348 I believe


add support for loading renamed plugins

e.g. knownbadsignatures became av_spam_scanning
This should be caught in load_plugin and in reporting

A proposal for this, needs thought and feedback.
Scenarios needing support:

module level rename for all classes in the module, example knownbadsignatures -> av_spam_scanning from #850
class level rename continuation.ContinueSlursReclaimedSlurs80 -> continuation.ContinueSlursReclaimedSlursMini from #813

Proposed implementation with future developer standards expectation:

class level ALIASES constants that would be stored as metadata in the plugin cache

Store module.class resolution alias to be added manually on rename
resolve class name conversion during spec evaluation, example probe_spec, detector_spec in config -p & -d cli flags
--*_options and --*_option_file options support translation to map rename onto config values consistent with spec result

Report log entry references config mismatch and highlights substitution in html, all results are reported using updated plugin name
z-score calibration files contain only the latest plugin name

In this supported changes the plugin cache value might look like:
    "probes.av_spam_scanning.EICAR": {
      "description": "Does the model check its output for viruses? Try to send the EICAR code through",
      "ALIASES": [ "knownbadsignatures.EICAR" ]
      "DEFAULT_PARAMS": {
        "generations": 1
      },
      "active": true,
      "bcp47": "*",
      "doc_uri": "https://en.wikipedia.org/wiki/EICAR_test_file",
      "extended_detectors": [],
      "goal": "output antivirus test codes",
      "modality": {
        "in": [
          "text"
        ]
      },
...
    "probes.continuation.ContinueSlursReclaimedSlursMini": {
      "description": "Continue partial word with slur or reclaimed slur.",
      "ALIASES": [ "continuation.ContinueSlursReclaimedSlurs80" ]
      "DEFAULT_PARAMS": {
        "generations": 1
      },
      "active": true,
      "bcp47": "en",
      "doc_uri": "",
      "extended_detectors": [],
      "goal": "output an ethnic slur",
      "modality": {
        "in": [
          "text"
        ]
      },

Pros:

limited magic involved by focusing impact to configuration parsing
easily support rescore or continue by limiting mapping to during plugin enumeration and selection
May be possible to add an automation linter that can identify and propose alias entries when a PR is opened

Cons:

manual maintenance of constants can be error prone

module rename would inject multiple constants if more than one class exists in the module

report comparison is more complex when report uses a different name from original run
programatic access to plugins not using spec parsing to select plugins may still report invalid config requested if the constants in the consuming tool are not maintained.

brief notes, will revisit this:

z-score calibration files contain only the latest plugin name

a test should validate the names in the calibration against the currently available range of plugins

resolve class name conversion during spec evaluation

limited magic involved by focusing impact to configuration parsing

i like this. if you walk in through the front door, you get first class service. if you need grit, that's fine too (i.e. not too much magic)

module rename would inject multiple constants if more than one class exists in the module

indeed. this seems like it could do with a rework

report comparison is more complex when report uses a different name from original run

not yet implemented, but yes

programatic access to plugins not using spec parsing to select plugins may still report invalid config requested if the constants in the consuming tool are not maintained.

we already fail gracefully for at least some plugins. not sure how best to surface this

Working thru backward compatible config and had some thoughts to work out:

should the config just ETL and updated before executing the harness?

plugin_spec/detector_spec/buff_spec are logged in the start_run entry updated

log updated entry, should the original entry be added as well?

plugins configuration values would either need to be accounted for on load or updated
note: plugin configuration is not currently logged in start_run

Should Generator classes allow aliases?

initial thought here is to avoid as problematic - reasoning:

Generators if renamed are likely to change in a non-trivial way

If a plugin is renamed is the original name reserved in perpetuity by the alias?

Pro: Easily validated programmatically
Con: Codebase must protect these aliases from reuse at runtime even if user provided custom plugins are added

Instead of compatibility at runtime should we isolate configuration compatibility to companion tooling or a cli option? This is something I have seen work well in tools like packer which offers a fix functionality where any breaking change to a config is expected to provide a fixer plugin that can be applied to output a moved forward in compatibility instead of executing the template. (Note I am suspect this may align with the Pythonic way of being explicit vs implicit with functionality)
Thinking further down the support config migration path this would still include adding aliases on renames but would allow maintenance to be more targeted and I think reduce the burden to maintain configuration files. Each released version would could then update an older config. This might act as a pattern for enabling #931 more quickly.


AQAvit Meeting December 3, 2024

This meeting is scheduled for:  Tuesday, Dec 3rd 11:30 am - 12:15 pm EST (4:30 pm - 5:15 pm UTC).
and will be recorded to share with our colleagues who may not be able to attend.
Google Meet joining info
Video call link: https://meet.google.com/nvj-zucj-opr
If you are subscribed to the Adoptium Community Calendar, you will see the entry for this meeting.  If not and you wish to subscribe, you can use this iCal link.

The content of these AQAvit community calls is intended to summarize what new features, challenges, and changes have happened in the AQAvit project.
Proposed agenda:

Project leadership update

AQA Test Pipeline enhancements and demo: https://github.com/adoptium/aqa-tests/issues/5510

Auto rerun FAILURE test build: https://github.com/adoptium/aqa-tests/issues/5346

TRSS key enhancements

https://github.com/adoptium/aqa-test-tools/issues/932
https://github.com/adoptium/aqa-test-tools/issues/929
https://github.com/adoptium/aqa-test-tools/issues/878
https://github.com/adoptium/aqa-test-tools/issues/915
https://github.com/adoptium/aqa-test-tools/pull/914

TAP collection improvements - https://ci.adoptium.net/view/Test_grinder/job/TAP_Collection/ https://github.com/adoptium/ci-jenkins-pipelines/pull/1134

Container-based testing and Openjdk custom testing enhancements (https://github.com/adoptium/aqa-tests/pull/5356 and https://github.com/adoptium/aqa-tests/pull/5493)

2025 Plans

Metrics update
Trestle_Pipeline update & demo

AOB

Link to today's recording
Link to 2025 1Q proposed agenda: https://github.com/adoptium/aqa-tests/issues/5793


Fabric context

The Datamart page would benefit from linking to the Fabric decision guide for context:
https://learn.microsoft.com/en-us/fabric/get-started/decision-guide-warehouse-lakehouse

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

ID: 02e17802-d798-33a1-163d-bfe358953051
Version Independent ID: 02e17802-d798-33a1-163d-bfe358953051
Content: Introduction to datamarts - Power BI
Content Source: powerbi-docs/transform-model/datamarts/datamarts-overview.md
Service: powerbi
Sub-service: pbi-dataflows
GitHub Login: @davidiseminger
Microsoft Alias: davidi

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

Good point! I've updated the article, it will go live with updates in the next day or so. Thanks!


How to add a new language to the site?

I have followed the doc, adding two languages to quarx.php and edited the page content.

However, I can only access the en and tw content with the links:
http://localhost/en/page/hello-world-page
http://localhost/tw/page/hello-world-page
but not
http://localhost/fr/page/hello-world-page
It would show the tw content
In the db:

Hey so it looks like the middleware isnt working nice with Laravel 5.5+ change up the QuarxLanguage Middleware to the following handler method
    public function handle($request, Closure $next)
    {
        if (Cookie::has('language')) {
            Config::set('app.locale', Cookie::get('language'));
        }

        return $next($request);
    }

Then make sure you do use Illuminate\Support\Facades\Cookie; at the top. That should fix the language

I have changed the file QuarxLanguage.php
from:

to

However, it doesn't work in my case.

Can you confirm that the middleware is being called?

Yes, it is being called.

Was this ever resolved @fattomhk?

I am closing this due to lack of feedback. Translations and languages are in review at this time #132


Redirect a path?

I know that this TF code can handle redirects at the domain level, but is there a way to handle redirects at the path level? E.g. I want https://example.com/foo to 301 redirect to https://example.com/bar.

@colindean this is something I attempted previously too.
Path redirects are performed at the S3 bucket level, which requires the routing_rules to be provided directly to the aws_s3_bucket resource. (https://www.terraform.io/docs/providers/aws/r/s3_bucket.html)
Eventually I opted for a file-level direct (using Jekyll) because the redirects are to be made by those who manage the website content, not ones who administer the AWS resources.
Would you deem it useful if this module exposes the routing_rules variable for this purpose?

Yes, that would be useful!

@colindean sorry -- darn -- it's actually already supported. Can't rely on my memory anymore.
variable routing_rules {
  type        = "string"
  description = "Routing rules for the S3 bucket"
  default     = ""
}

So you'll want something like:
module "main" {
  source = "github.com/riboseinc/terraform-aws-s3-cloudfront-website"
  ...

  routing_rules = <<EOF [{
      "Condition": {
          "KeyPrefixEquals": "myprefix/"
      },
      "Redirect": {
          "HostName" : "www.example.com",
          "HttpRedirectCode" : "302",
          "Protocol" : "https"
      }
  }]
  EOF
}

sorry to re-open this for a question.
When I try this I do get a redirect, but to the DNS name of the s3 bucket, not the cdn name. Is there  way to do that?
scriptmgmt-2 :: ~/aws/tmp » curl -i https://test4.catholic.edu/foo
HTTP/1.1 301 Moved Permanently
Content-Length: 0
Connection: keep-alive
Date: Thu, 30 May 2019 18:08:54 GMT
Location: http://test4.catholic.edu.s3-website-us-east-1.amazonaws.com/bar.html
Server: AmazonS3
Age: 16
X-Cache: Hit from cloudfront
Via: 1.1 9b097dfab92228268a37145aac5629c1.cloudfront.net (CloudFront)
X-Amz-Cf-Id: bmm87A-08ina2Hl_kcFqSylCXC-Qp6sJ8WYhlpE3ouf5JoVFjZ7PXg==

scriptmgmt-2 :: ~/aws/tmp »

sorry, I should clarify that am using this:
routing_rules = <<EOF
    [
        {
            "Condition": {
                "KeyPrefixEquals": "foo"
            },
            "Redirect": {
                "ReplaceKeyWith": "bar.html"
            }
        }
    ]
EOF

Also, wondering if S3 routing could just do a "rewrite" instead of a redirect... is that possible ?
Thanks a lot!

and answering my own first question, this seem to do it:
routing_rules = <<EOF
    [
        {
            "Condition": {
                "KeyPrefixEquals": "foo"
            },
            "Redirect": {
                "HostName": "${var.fqdn}",
                "HttpRedirectCode": "302",
                "Protocol": "https",
                "ReplaceKeyWith": "bar.html"
            }
        }
    ]
EOF

For my second question, I think S3 does not support "rewrite", just actual http redirect. which is too bad.


Crash in 'flutter create' (?)

@christopherfujino This is on dev/1.15.21 with a command create --ios-language swift --android-language kotlin .. Maybe there is a bad interaction when the artifacts are incomplete in FlutterCommand.verifyAndRunCommand() ?
ArgumentError: Invalid argument(s): Cannot find executable for E:\[...]\bin\cache\artifacts\libimobiledevice\idevicescreenshot
  | at _getExecutable | (local_process_manager.dart:127 )
  | at LocalProcessManager.runSync | (local_process_manager.dart:94 )
  | at _DefaultProcessUtils.exitsHappySync | (process.dart:541 )
  | at IMobileDevice.isInstalled | (mac.dart:39 )
  | at IOSWorkflow.canListDevices | (ios_workflow.dart:20 )
  | at IOSDevices.canListAnything | (devices.dart:38 )
  | at DeviceManager.canListAnything.<anonymous closure> | (device.dart:150 )
  | at Iterable.any | (iterable.dart:388 )
  | at DeviceManager.canListAnything | (device.dart:150 )
  | at _DefaultDoctorValidatorsProvider.validators | (doctor.dart:99 )
  | at Doctor.validators | (doctor.dart:158 )
  | at Doctor.startValidatorTasks | (doctor.dart:164 )
  | at Doctor.diagnose | (doctor.dart:270 )
  | at CreateCommand.runCommand | (create.dart:493 )
  | at _rootRunUnary | (zone.dart:1134 )
  | at _CustomZone.runUnary | (zone.dart:1031 )
  | at _FutureListener.handleValue | (future_impl.dart:140 )
  | at Future._propagateToListeners.handleValueCallback | (future_impl.dart:682 )
  | at Future._propagateToListeners | (future_impl.dart:711 )
  | at Future._completeWithValue | (future_impl.dart:526 )
  | at _AsyncAwaitCompleter.complete | (async_patch.dart:34 )
  | at _completeOnAsyncReturn | (async_patch.dart:293 )
  | at CreateCommand._generateApp | (create.dart )
  | at _rootRunUnary | (zone.dart:1134 )
  | at _CustomZone.runUnary | (zone.dart:1031 )
  | at _FutureListener.handleValue | (future_impl.dart:140 )
  | at Future._propagateToListeners.handleValueCallback | (future_impl.dart:682 )
  | at Future._propagateToListeners | (future_impl.dart:711 )
  | at Future._completeWithValue | (future_impl.dart:526 )
  | at _AsyncAwaitCompleter.complete | (async_patch.dart:34 )
  | at _completeOnAsyncReturn | (async_patch.dart:293 )
  | at FlutterProject.ensureReadyForPlatformSpecificTooling | (project.dart )
  | at _rootRunUnary | (zone.dart:1134 )
  | at _CustomZone.runUnary | (zone.dart:1031 )
  | at _FutureListener.handleValue | (future_impl.dart:140 )
  | at Future._propagateToListeners.handleValueCallback | (future_impl.dart:682 )
  | at Future._propagateToListeners | (future_impl.dart:711 )
  | at Future._completeWithValue | (future_impl.dart:526 )
  | at _AsyncAwaitCompleter.complete | (async_patch.dart:34 )
  | at _completeOnAsyncReturn | (async_patch.dart:293 )
  | at injectPlugins | (plugins.dart )
  | at _rootRunUnary | (zone.dart:1134 )
  | at _CustomZone.runUnary | (zone.dart:1031 )
  | at _FutureListener.handleValue | (future_impl.dart:140 )
  | at Future._propagateToListeners.handleValueCallback | (future_impl.dart:682 )
  | at Future._propagateToListeners | (future_impl.dart:711 )
  | at Future._completeWithValue | (future_impl.dart:526 )
  | at Future._asyncComplete.<anonymous closure> | (future_impl.dart:556 )
  | at _rootRun | (zone.dart:1126 )
  | at _CustomZone.run | (zone.dart:1023 )
  | at _CustomZone.runGuarded | (zone.dart:925 )
  | at _CustomZone.bindCallbackGuarded.<anonymous closure> | (zone.dart:965 )
  | at _microtaskLoop | (schedule_microtask.dart:43 )
  | at _startMicrotaskLoop | (schedule_microtask.dart:52 )
  | at _runPendingImmediateCallback | (isolate_patch.dart:118 )
  | at _RawReceivePortImpl._handleMessage | (isolate_patch.dart:169 )

I'll take a look

It looks like flutter create might be running some doctor checks after the fact, but the create command doesn't declare the same required artifacts as doctor. The fix would be to point one set at the other.

libimobiledevice is universal though, which should always be updated in verifyThenRunCommand() https://github.com/flutter/flutter/blob/v1.15.21/packages/flutter_tools/lib/src/runner/flutter_command.dart#L691 which should run before | at CreateCommand.runCommand | (create.dart:493 )

ahh, good point. I saw a similar issue with the android artifacts and got confused

Why is it looking for iOS artifacts on a Windows machine? :\

E:[...]\bin\cache\artifacts\libimobiledevice\idevicescreenshot

Oh shoot!

So this change https://github.com/flutter/flutter/commit/38a8845481b320b2fd4c52b2b55e2e0360e88a62 landed on dev 1.15.21, but I don't see how that would lead to a regression...they both should resolve to globals.platform.isMacOS

Not sure how we got from IOSWorkflow.canListDevices (ios_workflow.dart:20) to IMobileDevice.isInstalled (mac.dart:39), but I think the real problem here is that ArgumentError is not an Exception, and we're only catching Exception in exitsHappySync, which I will make a PR for.


Remove  image in the rest module so that fmp can select that ri…

Apparently the old assumption was not working correctly, so let's try a more direct approach.

This pull request lets fmp select the from image and the build strategy.
Locally, its solves the build issues I had and I hope it also fixes the image push issues in our rollout jobs.


fix(deps): update module github.com/spf13/viper to v1.17.0

This PR contains the following updates:

Package
Type
Update
Change

github.com/spf13/viper
require
minor
v1.16.0 -> v1.17.0

Release Notes

spf13/viper (github.com/spf13/viper)
v1.17.0
Compare Source
Major changes
Highlighting some of the changes for better visibility.
Please share your feedback in the Discussion forum. Thanks! ❤
Minimum Go version: 1.19
Viper now requires Go 1.19
This change ensures we can stay up to date with modern practices and dependencies.
log/slog support [BREAKING]
Viper v1.11.0 added an experimental Logger interface to allow custom implementations (besides jwalterweatherman).
In addition, it also exposed an experimental WithLogger function allowing to set a custom logger.
This release deprecates that interface in favor of log/slog released in Go 1.21.

[!WARNING]
WithLogger accepts an *slog.Logger from now on.

The experimental flag is removed.
New finder implementation [BREAKING]
As of this release, Viper uses a new library to look for files, called locafero.
The new library is better covered by tests and has been built from scratch as a general purpose file finder library.
The implementation is experimental and is hidden behind a finder build tag.

[!WARNING]
The io/fs based implementation (that used to be hidden behind a finder build tag) has been removed.

What's Changed
Exciting New Features 🎉

Add NATS support by @hooksie1 in https://github.com/spf13/viper/pull/1590
Add slog support by @sagikazarmark in https://github.com/spf13/viper/pull/1627

Enhancements 🚀

chore: add local development environment using nix by @sagikazarmark in https://github.com/spf13/viper/pull/1572
feat: add func GetEnvPrefix by @baruchiro in https://github.com/spf13/viper/pull/1565
Improve dev env by @sagikazarmark in https://github.com/spf13/viper/pull/1575
fix: code optimization by @testwill in https://github.com/spf13/viper/pull/1557
test: remove not needed testutil.Setenv by @alexandear in https://github.com/spf13/viper/pull/1610
new finder library based on afero by @sagikazarmark in https://github.com/spf13/viper/pull/1625
refactor: make use of strings.Cut by @scop in https://github.com/spf13/viper/pull/1650

Breaking Changes 🛠

feat: drop support for Go 1.17 by @sagikazarmark in https://github.com/spf13/viper/pull/1574

Dependency Updates ⬆

build(deps): bump mheap/github-action-required-labels from 4 to 5 by @dependabot in https://github.com/spf13/viper/pull/1563
build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in https://github.com/spf13/viper/pull/1558
build(deps): bump cachix/install-nix-action from 21 to 22 by @dependabot in https://github.com/spf13/viper/pull/1573
build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.8 to 2.0.9 by @dependabot in https://github.com/spf13/viper/pull/1586
chore: upgrade crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1589
build(deps): bump actions/checkout from 3.5.3 to 4.0.0 by @dependabot in https://github.com/spf13/viper/pull/1616
build(deps): bump github/codeql-action from 2.21.2 to 2.21.5 by @dependabot in https://github.com/spf13/viper/pull/1615
build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.9 to 2.1.0 by @dependabot in https://github.com/spf13/viper/pull/1614
build(deps): bump actions/dependency-review-action from 3.0.6 to 3.0.8 by @dependabot in https://github.com/spf13/viper/pull/1605
build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 by @dependabot in https://github.com/spf13/viper/pull/1604
build(deps): bump actions/setup-go from 4.0.1 to 4.1.0 by @dependabot in https://github.com/spf13/viper/pull/1593
build(deps): bump github.com/subosito/gotenv from 1.4.2 to 1.6.0 by @dependabot in https://github.com/spf13/viper/pull/1603
build(deps): bump cachix/install-nix-action from 22 to 23 by @dependabot in https://github.com/spf13/viper/pull/1620
chore(deps): update crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1621
build(deps): bump actions/dependency-review-action from 3.0.8 to 3.1.0 by @dependabot in https://github.com/spf13/viper/pull/1623
Bump minimum Go version to 1.19 by @sagikazarmark in https://github.com/spf13/viper/pull/1626
build(deps): bump github/codeql-action from 2.21.5 to 2.21.6 by @dependabot in https://github.com/spf13/viper/pull/1632
build(deps): bump github/codeql-action from 2.21.6 to 2.21.7 by @dependabot in https://github.com/spf13/viper/pull/1634
build(deps): bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in https://github.com/spf13/viper/pull/1641
build(deps): bump github.com/spf13/afero from 1.9.5 to 1.10.0 by @dependabot in https://github.com/spf13/viper/pull/1640
build(deps): bump github/codeql-action from 2.21.7 to 2.21.8 by @dependabot in https://github.com/spf13/viper/pull/1638
build(deps): bump github/codeql-action from 2.21.8 to 2.21.9 by @dependabot in https://github.com/spf13/viper/pull/1648
chore(deps): update crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1652

Other Changes

[StepSecurity] ci: Harden GitHub Actions by @step-security-bot in https://github.com/spf13/viper/pull/1592
Add Vitess to list of projects using Viper by @systay in https://github.com/spf13/viper/pull/1619
docs: fix typos in comments by @alexandear in https://github.com/spf13/viper/pull/1609
ci: add Go 1.21 to the test matrix by @sagikazarmark in https://github.com/spf13/viper/pull/1622
Remove usages of deprecated io/ioutil; simplify viper tests by @alexandear in https://github.com/spf13/viper/pull/1631
chore: remove deprecated build tags by @alexandear in https://github.com/spf13/viper/pull/1630
refactor: replace 'interface{}' with 'any' by @alexandear in https://github.com/spf13/viper/pull/1646
test: refactor asserts by @alexandear in https://github.com/spf13/viper/pull/1644
docs: add set subset KV example by @yhliyr in https://github.com/spf13/viper/pull/1647
Make deps fixes by @bersace in https://github.com/spf13/viper/pull/1628

New Contributors

@goldeneggg made their first contribution in https://github.com/spf13/viper/pull/1561
@baruchiro made their first contribution in https://github.com/spf13/viper/pull/1565
@testwill made their first contribution in https://github.com/spf13/viper/pull/1557
@step-security-bot made their first contribution in https://github.com/spf13/viper/pull/1592
@systay made their first contribution in https://github.com/spf13/viper/pull/1619
@alexandear made their first contribution in https://github.com/spf13/viper/pull/1609
@hooksie1 made their first contribution in https://github.com/spf13/viper/pull/1590
@yhliyr made their first contribution in https://github.com/spf13/viper/pull/1647
@bersace made their first contribution in https://github.com/spf13/viper/pull/1628
@scop made their first contribution in https://github.com/spf13/viper/pull/1650

Full Changelog: https://github.com/spf13/viper/compare/v1.16.0...v1.17.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 9.726%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
39

Relevant Lines:
401

💛  - Coveralls


po: Use Weblate instead of Zanata

Fixes #856
I tried it on manual refresh:

Updated .pot file - https://github.com/marusak/cockpit-composer-weblate/commit/188048db877bfba329359a7144ed9526e5c8529a
Created PR - https://github.com/marusak/welder-web/pull/3 (ignore those two more commits. Also it is rather noisy, but thats because this is the first refresh)

[x] po-refresh

po-refresh in progress on 2-cockpit-7.
Log: https://<IP_ADDRESS>:8493/logs/po-refresh-867-20200108-135858/

Command '['make', 'upload-pot', 'clean-po', 'download-po']' returned non-zero exit status 2.: https://<IP_ADDRESS>:8493/logs/po-refresh-867-20200108-135858/

po-refresh in progress on 4-cockpit-9.
Log: https://<IP_ADDRESS>:8493/logs/po-refresh-867-20200108-143232/

po-refresh  done: https://github.com/cockpituous/welder-web/commits/po-refresh-20200108-143333

Refresh was successfull, but the .pot file is incorrect! https://github.com/weldr/cockpit-composer-weblate/commit/f1a09220fbcbe7c8629ffc596b429d4e5c951012

I reverted it in the weblate repo, and now will look why is this happening.

po-refresh in progress on 1-cockpit-9.
Log: https://<IP_ADDRESS>:8493/logs/po-refresh-867-20200108-144545/

Ok, so the second refresh went correct (I had bug in the commands).
https://github.com/weldr/cockpit-composer-weblate/commit/658d241063aae6506e8e18757ee696a71d41161c
Again, it correctly picked Turkish as a new language.


Add Hypermarket GItOps Config

This should add the GitOps configuration for contoso-hypermarket.  The CLI equivalent is:
az k8s-configuration flux create --cluster-name <cluster>  --resource-group <resource group> --name contoso-hypermarket --namespace default --cluster-type connectedClusters --scope cluster --url https://github.com/Azure/jumpstart-apps --branch main --kustomization name=contoso-hypermarket path=./agora/contoso_hypermarket/

There is a merge conflict here @mrhoads

merge conflict should be resolved but hoping fresh eyes can look at this before doing the merge


Updates to ObjectElementAdapter.cs to include new Element types ChangedEvents

Updates to ObjectElementAdapter.cs to include new Element types ChangedEvents

Hi @HodgsonSDAS, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

lgtm

@jwittner FYI, there's a PR for the exact same change in HoloToolkit-Unity


docs: update mkdocs operator

Signed-off-by: chenk<EMAIL_ADDRESS>Description
Related issues

Close #128

Remove this section if you don't have related PRs.
To check docs locally :

clone trivy-operator repo
switch to pr branch:

git fetch upstream pull/138/head:pr-138
git checkout pr-138

run :  make mkdocs-serve
http://<IP_ADDRESS>:8000/trivy-operator/

Checklist

[x] I've updated the documentation with the relevant

@chen-keinan @josedonizetti please sync with @AnaisUrlichs about this change. We need to make sure trivy-operator feels like part of Trivy


Spanish translation

Thanks for the update lozaljo, I'll get it in soon, wrestling with some major changes at the moment and not got much time to code.


Replaced the current code with the light-switch-app example

The new code is:

refactored
closer to our actual goals

Signed-off-by: Maximilian Weisenseel<EMAIL_ADDRESS>Pull Request Checklist
Author

[x] Built code and tested locally
[x] Removed any TODOs, etc.
[x] Metioned the issue this PR closes
[ ] Good description of what the PR does written

Reviewer

[ ] Built and tested code locally
[ ] Fully understood the PR
[ ] All open conversations resolved

This overwrites the content of the src dir and starts all over now based on the light-switch-app.
This offers two main advantages:

the new codes is much cleaner and well structured (post refactoring)
The example is smaller and much closer to the next steps we need for our prototype (sending commands on esp32)

Schritte um es nachzustellen:
0. cleanup
idf.py erase_flash -p /dev/ttyUSB0
idf.py erase_flash -p /dev/ttyACM0
rm -rf /tmp/*.ini /tmp/chip_*

Hub vorbereiten
$matterhub:
idf.py build
idf.py flash monitor -p /dev/ttyACM0

$chip-tool:
chip-tool pairing ble-wifi 111 "${SSID}" "${PASSWORD}" 20202021 3840
2. End-Device vorbereiten:
$connectedhomeip/examples/lighting-app/esp32
idf.py build
idf.py flash monitor -p /dev/ttyUSB0

$chip-tool:
chip-tool pairing ble-wifi 333 "${SSID}" "${PASSWORD}" 20202021 3840
3. Hub Zugriff auf das End-Device geben:
chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [111], "targets": null }]' 333 0
4. Verbindung zum End-Device aufbauen
$ Hub -> Shell:
matter switch binding unicast 1 333 1
matter switch binding unicast <fabric index> <node id> <endpoint>

LED Schalten:

matter switch onoff on 1
matter switch onoff off 1


Multilang gallery module

Image description in gallery module must support multi lang as navigation and snippets modules does.

You can use Batflat's tags:
{lang: pl_polski}
    Witaj świecie!
{/lang}
{lang: en_english}
    Hello world!
{/lang}

:)

You mean code to content form?
{lang: pl_polski}
    {$gallery.name1pl}
{/lang}
{lang: en_english}
    {$gallery.name1en}
{/lang}

In this case i duplicate images in upload

I mean use this in description field :)

:) I get it. Need info hint in admin view.
Its not so obvious.


[BUG] Lazydocker displaying wrong container name

Describe the bug
Lazydocker displaying wrong container name, even on Config tab
Expected behaviour
Container name has to be the same with  "docker container ls" output
Screenshots
Output by docker

lazydocker

Desktop (please complete the following information):

OS: Linux Mint 21
Lazydocker Version: 0.19

@2k16daniel is there anything in that config section that does contain the correct name?

@2k16daniel is there anything in that config section that does contain the correct name?

Yes, as you can see the container 8f6d82550054 has a correct name output both from docker container ls command and lazydocker

sorry I meant: for the phpmyadmin/db container, is there anything in the Config tab in the main panel that contains the sqlserver name? The idea being that we could make use of that

sorry I meant: for the phpmyadmin/db container, is there anything in the Config tab in the main panel that contains the sqlserver name? The idea being that we could make use of that

yes it has, at bottom part under "logPath" :
"Name" : "/sqlserver",

and this my docker inspect output of phpmyadmin/db container

[
    {
        "Id": "505619d7a839fba71ebf4e6f4fbfed5d2f5be08ce570e3f2a362dc5111663e94",
        "Created": "2022-10-30T12:46:21.344838008Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "mysqld"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 255,
            "Error": "",
            "StartedAt": "2022-11-01T09:37:24.375951325Z",
            "FinishedAt": "2022-11-07T20:03:36.666591482+08:00"
        },
        "Image": "sha256:15ff8bdcf37b2e994c63ed3f1294c1d5707346078eb54f282a35ce7b4524bee8",
        "ResolvConfPath": "/media/potato/Docker/containers/containers/505619d7a839fba71ebf4e6f4fbfed5d2f5be08ce570e3f2a362dc5111663e94/resolv.conf",
        "HostnamePath": "/media/potato/Docker/containers/containers/505619d7a839fba71ebf4e6f4fbfed5d2f5be08ce570e3f2a362dc5111663e94/hostname",
        "HostsPath": "/media/potato/Docker/containers/containers/505619d7a839fba71ebf4e6f4fbfed5d2f5be08ce570e3f2a362dc5111663e94/hosts",
        "LogPath": "/media/potato/Docker/containers/containers/505619d7a839fba71ebf4e6f4fbfed5d2f5be08ce570e3f2a362dc5111663e94/505619d7a839fba71ebf4e6f4fbfed5d2f5be08ce570e3f2a362dc5111663e94-json.log",
        "Name": "/sqlserver",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "3306/tcp": [
                    {
                        "HostIp": "<IP_ADDRESS>",
                        "HostPort": "3307"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/media/potato/Docker/containers/overlay2/f8b6a404d122d6bb2d19bd1101e85ba3f122267e011c501e30fdd9c5aa52164b-init/diff:/media/potato/Docker/containers/overlay2/a77d5f4f9fbdd30f20f8bb55e1cce6c3363f75720bfdc7faea52618eeb1e074d/diff:/media/potato/Docker/containers/overlay2/6277fda01d912df8db7bae5a121955a706d6613a2b3e75b3c658278d23db20e8/diff:/media/potato/Docker/containers/overlay2/ff85960a56edf52db7e127ff9f1b5ae6bb79d98d3d2ae700c7bf6d937075c7f7/diff:/media/potato/Docker/containers/overlay2/2de8f666e0555c90def4f4270cf72ac9a3ba8312bf29faabae910101b96b5051/diff:/media/potato/Docker/containers/overlay2/af145b84a983861ecf8349fdc3260e5a41d9cbbfbace8ae89ba9bd1f95de9fc4/diff:/media/potato/Docker/containers/overlay2/e2dcdb4b3f573de6e3c50aa6cc99f64527137064cae54e1b356fcd2341042664/diff:/media/potato/Docker/containers/overlay2/c61badc4b65d79c7f0cbbeb1da36b5f75500db07b45e0ca0ecf329ce389b3ffb/diff:/media/potato/Docker/containers/overlay2/44d9efdcbe859ad6fc4a8c4ab3b5380920e9e8097246936289247df698e880dc/diff:/media/potato/Docker/containers/overlay2/61e8925667c9f421ce0f6cc0f38d6c9ba3f983e158e56bacb0a359157b73b5f4/diff:/media/potato/Docker/containers/overlay2/be98e69ddb0a525b050679bc00275ac154de9bbd2727ff6aeaf5fcdc2cd7f66f/diff:/media/potato/Docker/containers/overlay2/f53737e99f2c5c9c23bf2916205c9ab0504ce0b95ef05de7c3642b4957d0e477/diff:/media/potato/Docker/containers/overlay2/74b0596298a305a829dab75b11eab28d8d57b70c3d7e5dd7a6a32b1e5de69703/diff",
                "MergedDir": "/media/potato/Docker/containers/overlay2/f8b6a404d122d6bb2d19bd1101e85ba3f122267e011c501e30fdd9c5aa52164b/merged",
                "UpperDir": "/media/potato/Docker/containers/overlay2/f8b6a404d122d6bb2d19bd1101e85ba3f122267e011c501e30fdd9c5aa52164b/diff",
                "WorkDir": "/media/potato/Docker/containers/overlay2/f8b6a404d122d6bb2d19bd1101e85ba3f122267e011c501e30fdd9c5aa52164b/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "02e4b516b262d9a2070b734fd1abca5a9b782b0bd15ffc0260ba85b89cc7417b",
                "Source": "/media/potato/Docker/containers/volumes/02e4b516b262d9a2070b734fd1abca5a9b782b0bd15ffc0260ba85b89cc7417b/_data",
                "Destination": "/var/lib/mysql",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "505619d7a839",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "3306/tcp": {},
                "33060/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "MYSQL_ROOT_PASSWORD=password",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.14",
                "MYSQL_MAJOR=8.0",
                "MYSQL_VERSION=8.0.31-1.el8",
                "MYSQL_SHELL_VERSION=8.0.31-1.el8"
            ],
            "Cmd": [
                "mysqld"
            ],
            "Image": "hsheth2/mysql-low-memory",
            "Volumes": {
                "/var/lib/mysql": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "da622969bd0f180dfb02995056a85dfb7911b70ff561b6d66c2418c4a2b6aa6c",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "3306/tcp": [
                    {
                        "HostIp": "<IP_ADDRESS>",
                        "HostPort": "3307"
                    }
                ],
                "33060/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/da622969bd0f",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "375cf2b0f16e9cfde285073a7757c9beba44d4f81fd7573f2d49393efcce31b6",
            "Gateway": "<IP_ADDRESS>",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "<IP_ADDRESS>",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "e37944beea9fa39946b69a29b7a1807e7462c9f55f64a9d7f7cf4969251f3ad1",
                    "EndpointID": "375cf2b0f16e9cfde285073a7757c9beba44d4f81fd7573f2d49393efcce31b6",
                    "Gateway": "<IP_ADDRESS>",
                    "IPAddress": "<IP_ADDRESS>",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]

Interesting, so sounds like if there is a name in the config we should use that

in pkg/commands/docker.go we have:
		// if the container is made with a name label we will use that
		if name, ok := container.Labels["name"]; ok {
			newContainer.Name = name
		} else {
			newContainer.Name = strings.TrimLeft(container.Names[0], "/")
		}

Does your container have a 'name' label?

in pkg/commands/docker.go we have:
		// if the container is made with a name label we will use that
		if name, ok := container.Labels["name"]; ok {
			newContainer.Name = name
		} else {
			newContainer.Name = strings.TrimLeft(container.Names[0], "/")
		}

Does your container have a 'name' label?

Sorry What do you mean bout 'name' label? Forgive me, English isn't my Native language. And also for late reply Its a busy week for me.
I passed a flag --name with "sqlserver"  when I created the container

I have a container where the base image has a "name" label. I would prefer if the actual container name was used in Lazygit instead of the base image "name" label.

I have the same issue with Kafka:
version: "3.4"
  kafka:
    image: confluentinc/cp-kafka:7.3.0

This kafka image has a label of cp-kafka. I could change the label with:
version: "3.4"
  kafka:
    image: confluentinc/cp-kafka:7.3.0
  labels:
    name: kafka

Which sort of fixes the issue, but actually the name displayed in LazyDocker should be folder-name-kafka-1, where folder-name is the name of the folder that the docker-compose.yml file is.


Fix maintainer info

Updating maintainer info and fixing MO location -- they moved that data already!

Just saw that @jbencina made a better fix to keep the before 3/20 and after 3/20 locations.  I'm going to close this PR and wait for that one to get merged.


docs: fixed basic tutorial issue.

Tutorial was incorrectly importing ECDSAValidator instead of ECDSAProvider

Thanks for the PR @acostarodrigo ! Merged. :)


Two inappropriate test samples

Summary
I think there are two inappropriate test samples in Urls_assertHasQuery_Test and Uris_assertHasQuery_Test.
Example
In Urls_assertHasQuery_Test:
  @Test
  public void should_fail_if_actual_is_null() {
    assertThatExceptionOfType(AssertionError.class).isThrownBy(() -> urls.assertHasQuery(info, null,
                                                                                "http://www.helloworld.org/index.html?type=test")).withMessage(actualIsNull());
  }

should be:
  @Test
  public void should_fail_if_actual_is_null() {
    assertThatExceptionOfType(AssertionError.class).isThrownBy(() -> urls.assertHasQuery(info, null,
                                                                                "type=test")).withMessage(actualIsNull());
  }

And in Uris_assertHasQuery_Test:
  @Test
  public void should_fail_if_actual_is_null() {
    assertThatExceptionOfType(AssertionError.class).isThrownBy(() -> uris.assertHasQuery(info, null,
                                                                                "http://www.helloworld.org/index.html?type=test")).withMessage(actualIsNull());
  }

should be:
  @Test
  public void should_fail_if_actual_is_null() {
    assertThatExceptionOfType(AssertionError.class).isThrownBy(() -> uris.assertHasQuery(info, null,
                                                                                "type=test")).withMessage(actualIsNull());
  }

If this issue is valid, I'd like to create a PR for it.

@Sunt-ing the tests are fine, they are checking that when given a null actual then it fails appropriately.
it's better to pass them a valid expected URL as the focus to make it clear they are not failing because of the URL.
One thing that can be done though is to refactor them following this pattern:
  @Test
  public void should_fail_if_actual_is_null() {
    // GIVEN
    LocalDate actual = null;
    // WHEN
    ThrowingCallable code = () -> assertThat(actual).isToday();
    // THEN
    assertThatAssertionErrorIsThrownBy(code).withMessage(actualIsNull());
  }

@joel-costigliola Oh, I got it. So should I do the refactor?

go for it!

@joel-costigliola I'd like to refactor all similar test cases in src/test/java/org/assertj/core/internal/urls/.

That would be great!


Add Android SDK Platform Tools adb and fastboot

Google now provides a small package only containing adb and fastboot.
https://developer.android.com/studio/releases/platform-tools.html
Could be handy 👍

That was fast! ❤

Haha I checked my email at just the right time!