[Feature Request] Ability to run remote tests and grouping of tests

I was working on a similar project as poshspec internally but did not make much progress. Now that I see this project, I don't think I need to invest in creating a new framework altogether. However, here is something I was trying to achieve in my code.
node host1, host2, host3 {
    test1 param1 { should be value1 }
    test2 param2 { should be value2 }
    test3 param3 { should be value3 }
}

The Node block let's me specify a set of remote systems where my the tests must be executed. I was targeting PS Remoting to help me execute the test remotely and assert the result locally. For this, I started modifying Remotely and added support for specifying node names as a part of DSL and supply a credential hash when needed. Here is how the tests are written today.
$CredHash = @{
    'VM1' = (Get-Credential)
}

Describe "Add-Numbers" {
    It "adds positive numbers on two remote systems" {
        Remotely 'VM1','VM2' { 2 + 3 } | Should Be 5
    }

    It "gets verbose message" {
        $sum = Remotely 'VM1','VM2' { Write-Verbose -Verbose "Test Message" }
        $sum.GetVerbose() | Should Be "Test Message"
    }

    It "can pass parameters to remote block with different credentials" {
        $num = 10
        $process = Remotely 'VM1' { param($number) $number + 1 } -ArgumentList $num -CredentialHash $CredHash
        $process | Should Be 11
    }
}

However, this is still not sufficient as I don't have the remote system context in the assert result from Should. Here is where I was thinking that I will put a higher level wrapper on this and create something like what I proposed in my first example.
At the end of all this, there are two goals:

Create the ability to execute tests remotely

In the test output, I should be able to group the test results based on where they ran

I am continuing to work on this model and I will try to add the feature to poshspec. I am posting this request here to see if any others have any ideas on how to make this better.

I made an early decision to not include any remote execution as part of Poshspec to keep the module focused as a collection of simple tests. Adding remote execution into the tests could cause a lot of complication that impacts your test results. If one machine times out, do you fail the whole test? Do you create a test for every machine? I wasn't looking to build a module for auditing all of your infrastructure with a single script. Let DSC do that for you. Use Poshspec in your Infrastructure Pipeline to test that your DSC configuration (or other automation) is producing a functional system and then use DSC to apply and monitor that configuration to all your systems.
That being said, I have a suggested workflow for running Poshspec scripts across a number of systems. The Operation Validation Framework is designed to allow you to package Pester based functional tests into a module for easy distribution and execution. With OFV and an internal PowerShell Gallery, you will have a versioned repository of tests that you can install on any number of systems with just a couple of commands.
Maybe what you are trying to accomplish belongs in OVF which is focused on the execution of these type of tests.
I would definitely like to keep the conversation going.

I am not necessarily looking at only CI/CD pipeline. Many of the operational tests that I write work on a similarly configured systems (think of a cluster) and ensure that they are functional. I am just looking for a resource in desired state but that desired state is the desired functional state or not. Also, several of my tests are used as diagnostic tests as well. So, the ability to run and collect results from remote systems using either a single script or a collection of scripts is very much desired. For me operations validation is not about tests running on each individual system. I was (and still) trying to build the capability to treat my infrastructure as a single entity irrespective of how many components it has.
OVF isn't an answer as well at the moment. It is nothing but just a wrapper around pester tests that formats the output in a different way and packages tests as modules.
Well, our goals are a little different. I will continue to evolve Remotely and see where we can meet again! :)

I totally get using Pester/Poshspec for continuous functional validation and even monitoring. However, in that case, I still don't see remote execution and reporting as feature requirements for this module at the moment. I think that should be handled by something else in the pipeline. Something like Remotely.
I'd like to hear what others think as well so I'm leaving the Issue open.

Because of the way a lot of the tests in this module work it makes sense that they all be ran locally. In order to use Pester/Poshspec to test remote systems it would make more sense to deploy the entire test to the remote system and then run it locally as opposed to running every individual test remotely. This way if the connection to the remote system fails then you can address that issue specifically without having to wait for all the tests to fail. If what is being tested is the ability to get at the information remotely, then that would be a totally different set of tests and both, the locally ran and the remotely ran, sets of tests can be part of a single over arching testing solution that utilizes Pester, Poshspec, OVF, and any other tool necessary to facilitate the aggregation of the tests.

My first thought was "the framework does not have the support for a computer name."
There are some tests where you want to know (for example) that a service is running on each of 3 servers, but you don't want to or can't deploy modules to those servers. So some remoting is required.
Some of the tests only make sense to run locally, and others (service, cimobject, hotfix, localgroup)   are wrappers for commands which take -ComputerName. So wrapping them in a way which prevents using it ... is something that one should only do if it is completely unavoidable.
Adding a -ComputerName  parameter to  Get-PoshspecParam would mean that the individual tests would have the option to run remotely. The TestExpression just needs to include $ComputerName in the same way that $target is already used. (and the name string would need a tweak to include it).
I can understand not wanting to broaden the scope, but if you end up with a separate version to support remoting... not good.

I've started a branch  to work on remote execution support. My plan is to use Invoke-Command to handle the remote execution. That way it is handled consistently module wide regardless of the Cmdlet called and I can also use the new options for Invoke-Command like -ContainerName and -VMName.
For example:
Describe 'Services' {
    OnNode somehost {
        Service w32time Status { Should Be Running }
    }

    OnContainer happy_gates {
        Service w32time Status { Should Be Running }
    }

    OnVM wintest2008{
        Service w32time Status { Should Be Running }
    }
}

In theory, the On* functions will accept an array and just loop through them executing tests within that scope for all nodes. This way you'll get 10 tests for 10 servers instead of one test that might fail if a single machine isn't reachable.
I'm thinking of changing the Test name formatting to be machine readable instead of human readable so someone could easily parse it and do more with the results like group/filter based on ComputerName or Test type.

I was imagining something which looked more like this
Describe "My File Services" {     service  lanmanserver  status {should be running} -onNode FS-01       service  lanmanserver  status {should be running} -onNode FS-02   }
and the code in Service handles the remoting.
For the same test being run on multiple servers, what you're proposing is neater.
Describe "My File Services" {     onNode FS-01, FS-02  {     service  lanmanserver  status {should be running}   }
When you want to test 10 different things, each on a different server it's not so neat. I was convinced that was the most common case, but the more I think about the more I think it's the minority. So let's try what you're proposing and see :-)

@cdhunt I have worked on a similar project for inhouse use, from a lot of guidance from @rchaganti.
We started with a fork of the Remotely project in GitHub and then grew out of it, by creating a DSL for the remote Ops validation. I am in the process of cleaning it up and making it public here at GitHub.
It can use the tests written in PoshSpec with a slight changes to accept a parameter hash. Something like below :-
# DSC Style ConfigurationData for Environment configuraions
$ConfigData = @{
	AllNodes = @(
		@{
			NodeName='*';
			DomainFQDN='dexter.lab';
			DomainDC = 'AD.dexter.lab'
		},
		@{
			NodeName="Hyper-VHost1";
			Type='Compute';
			DeploymentStatus = 'Deployed';
			ManagementIPv4Address = '<IP_ADDRESS>';
			Storage1IPv4Address = '<IP_ADDRESS>';
			Storage2IPv4Address = '<IP_ADDRESS>'
		},
		@{
			NodeName='NAS01';
			Type='Storage';
		}
	)
}

PSRemotely -ConfigurationData $ConfigData {
    #region compute nodes block
	Node $AllNodes.Where({$PSitem.Role -eq 'Compute'}).NodeName {

		# these tests validate the connectivity using a specific NIC
		Describe 'TestADConnectivity' -Tags AD {

			Context 'AD reachable over Mgmt network' {
				#TCPPortWithSourceAddress @ParamHash { Should Be $true }
				TCPPortWithSourceAddress @{ComputerName=$node.DomainDC;SourceIP=$node.ManagementIPv4Address;Port=389}  { Should Be $true }
			}
		}

	}
}

Let me know if this interests you.


Withdraw from vault directly to bridge address not moving funds further

I am not sure this is a blockchain issue or bridge-software-issue and not sure supposed to do it this way, however, it's decentralised so someone some day would do it:
issue: withdrawing from a vault in CLI with withdrawfromvault vaultaddress defibridge-addresss XXX@DFI makes funds be on the target address but not move further to BSC.
Reproduce:

on defichain-bridge connect wallet
select "send defichain to finance chain"
acknowledge terms
copy address, in Defichain wallet CLI enter withdrawfromvault vaultaddress defibridge-addresss XXX@DFI

desired result: bridge starts working and moves funds to Binance Chain
actual result: bridge does nothing, funds are as balance on bridge-address but don't move
My test-funds are now sitting there: https://defiscan.live/address/8Nh8tgRLFEQPqUpXa2FCnX957aP21s9MZB
TX: https://defiscan.live/transactions/80e14e40df0d3c74db2d79a3e7840d61992c2cfdb1dd4e0eb192533d155a2a64

Hey Michu, since you are the first submitter you’ll get 1500$ in DFI! Thanks for reporting, looking into it right now! Just let me know where to send the funds to
Sent from my iPhone
On 14 Mar 2022, at 9:33 pm, Michi Rossmeier @.***> wrote:

I am not sure this is a blockchain issue or bridge-software-issue and not sure supposed to do it this way, however, it's decentralised so someone some day would do it:
issue: withdrawing from a vault in CLI with withdrawfromvault vaultaddress defibridge-addresss @.*** makes funds be on the target address but not move further to BSC.
Reproduce:

on defichain-bridge connect wallet
select "send defichain to finance chain"
acknowledge terms
copy address, in Defichain wallet CLI enter withdrawfromvault vaultaddress defibridge-addresss @.***

desired result: bridge starts working and moves funds to Binance Chain
actual result: bridge does nothing, funds are as balance on bridge-address but don't move
My test-funds are now sitting there: https://defiscan.live/address/8Nh8tgRLFEQPqUpXa2FCnX957aP21s9MZB
TX: https://defiscan.live/transactions/80e14e40df0d3c74db2d79a3e7840d61992c2cfdb1dd4e0eb192533d155a2a64
—
Reply to this email directly, view it on GitHubhttps://github.com/muirglacier/bridge-ui/issues/4, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQVPOW4I4C4SJ7W27X5SDPLU74PX5ANCNFSM5QVHTS2A.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Oooh no way - wow - that is very generous.- huh  - but - do you think that is maybe a defichain bug? cause if looking at target address it looks like there is no trace of where funds are coming from, or? I am not good enough to find out - you are - let me know
address is df1qa5attu7kcgqf0l3g07artvp9959wt6463x9x3m

Yeah at the moment only utxo are working reliably! So when you transfer directly from the wallet balance it should work ;-)
Sent from my iPhone
On 15 Mar 2022, at 3:39 am, Michi Rossmeier @.***> wrote:

Oooh no way - wow - that is very generous.- huh - but - do you think that is maybe a defichain bug? cause if looking at target address it looks like there is no trace of where funds are coming from, or? I am not good enough to find out - you are - let me know
address is df1qa5attu7kcgqf0l3g07artvp9959wt6463x9x3m
—
Reply to this email directly, view it on GitHubhttps://github.com/muirglacier/bridge-ui/issues/4#issuecomment-1067104783, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQVPOW7JKA4TX4Q6O3IMZUTU752TVANCNFSM5QVHTS2A.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>


Enable returning BlobRefs in the API, enable tests, and minor fixes

This should now complete the functionality and testing for the blobs feature.
Previous PRs changed the way blobs were managed in the write buffer. This PR does the final wiring between lookups in the write buffer and returning BlobRefs via the public API.
Then it also enables generating blobs and blobrefs in various tests. In particular this includes the state machine tests. Enabling these uncovered a few mismatches between the model and implementation. See issue #392.
It also covers some of the overlap between cursors and blobs: returning blob references from cursors is now enabled and the tests are passing.
There are sill some TODOs that would be nice to do. In particular the way the write buffer is handled during lookup is rather ugly. The use of the write buffer could be properly integrated into lookupIO. And related, there's more allocations than necessary in various conversions in the lookup process, and part of that is to do with blob references.

This will need a rebase once #389 is merged.


Keras training accuracy is always equal to 1

Hey y'all, I was training my model to predict if the picture given was a cat or a dog. However I am getting some issues with the accuracy, as you can see it stays constant on the number one. I do not see the issue here, could someone help me get the accuracy to show the correct value?

I suspect your model to overfit your data. This is not an error, your model is literally perfect on your training data because it has learned the label for each one of your images. However overfitting is not a good thing because your model could poorly predict on new images. To check this, extract a small part of your data (let's say 20% - called validation set), and after training evaluate your model on this extracted part. If the accuracy is low, it means that your model is overfitting. Otherwise it's actually a good model.

Funny thing happened actually. My data got split into two files meaning the directory I had placed for accessing the data was incomplete. So after noticing this and fixing the error, the model gave me the accuracy I was looking for, and it no longer overfit. Thank you for taking your time to respond!

@ChrisWPC Could you please let us know if this issue still persists and if it is resolved then please move this issue to closed status? Thank you!

Closing this issue due to lack of recent activity.Please feel free to reopen if you still have concern.Thanks!


Automate AUR release

Thank you @Sir-Photch for making an AUR package of FediFetcher.
Unfortunately this package is always lagging behind the official FediFetcher release. How can we automate pushing the release for this?
Any advice / help would be much appreciated!
Thanks!

You can either ping me or submit patches to https://github.com/Sir-Photch/PKGBUILDS/tree/main/fedi-fetcher.
For example, the patch to update from 7.1.7 to 7.1.12 is just:
diff --git a/fedi-fetcher/.SRCINFO b/fedi-fetcher/.SRCINFO
index d503b59..5a11c2a 100644
--- a/fedi-fetcher/.SRCINFO
+++ b/fedi-fetcher/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = fedi-fetcher
 	pkgdesc = FediFetcher is a tool for Mastodon that automatically fetches missing replies and posts from other fediverse instances, and adds them to your own Mastodon instance
-	pkgver = 7.1.7
-	pkgrel = 2
+	pkgver = 7.1.12
+	pkgrel = 1
 	url = https://github.com/nanos/FediFetcher
 	arch = any
 	license = MIT
@@ -21,13 +21,13 @@ pkgbase = fedi-fetcher
 	depends = python-urllib3
 	depends = python-xxhash
 	backup = etc/fedi-fetcher/config.json
-	source = fedi-fetcher-7.1.7.tar.gz::https://github.com/nanos/FediFetcher/archive/v7.1.7.tar.gz
+	source = fedi-fetcher-7.1.12.tar.gz::https://github.com/nanos/FediFetcher/archive/v7.1.12.tar.gz
 	source = fedi-fetcher.service
 	source = fedi-fetcher.timer
 	source = sysusers-fedi-fetcher.conf
 	source = tmpfiles-fedi-fetcher.conf
 	source = example-config.json
-	sha256sums = c1fbedbf8262920b38956fe5ae118f9f37ad48e4e6590d437bac6670e4094a35
+	sha256sums = 1de621195240825a017ccdfa5721f41c3ddd55d1788088aa7e50dbbe0addab19
 	sha256sums = cac866add6470ea7781366fdaf1f1e57cdbc0d7965e2b8e36c42a2dd88a1acd7
 	sha256sums = 4f3d8a37de2a11a794afd6e1d10df9abfe8cb8a42297fa8451e3e86228523265
 	sha256sums = eca9986a6e86b3208c2f786125f8a513037cd5a59dab2670e9439d57a2f7f595
diff --git a/fedi-fetcher/PKGBUILD b/fedi-fetcher/PKGBUILD
index aa2b874..ba47c97 100644
--- a/fedi-fetcher/PKGBUILD
+++ b/fedi-fetcher/PKGBUILD
@@ -1,8 +1,8 @@
-# Maintainer: Sir-Photch < sir-photch at posteo dot me >
+# Maintainer: Sir-Photch < aur at liebender dot dev >

 pkgname=fedi-fetcher
-pkgver=7.1.7
-pkgrel=2
+pkgver=7.1.12
+pkgrel=1
 pkgdesc="FediFetcher is a tool for Mastodon that automatically fetches missing replies and posts from other fediverse instances, and adds them to your own Mastodon instance"
 arch=(any)
 url="https://github.com/nanos/FediFetcher"
@@ -32,7 +32,7 @@ source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
 	sysusers-fedi-fetcher.conf
 	tmpfiles-fedi-fetcher.conf
 	example-config.json)
-sha256sums=('c1fbedbf8262920b38956fe5ae118f9f37ad48e4e6590d437bac6670e4094a35'
+sha256sums=('1de621195240825a017ccdfa5721f41c3ddd55d1788088aa7e50dbbe0addab19'
             'cac866add6470ea7781366fdaf1f1e57cdbc0d7965e2b8e36c42a2dd88a1acd7'
             '4f3d8a37de2a11a794afd6e1d10df9abfe8cb8a42297fa8451e3e86228523265'
             'eca9986a6e86b3208c2f786125f8a513037cd5a59dab2670e9439d57a2f7f595'

where at the top, .SRCINFO is generated from the bottom PKGBUILD where I, for example upgrading from 7.1.7 to 7.1.12, just change the pkgver variable and generate checksums via updpkgsums.
Depending on whether or not dependencies change, the depends array also needs changing. For example python-xxhash was a recent addition (that wasn't mentioned in the release notes, though. Please, include dependency changes in the release notes, something like: "Packaging: new dependency on ...")
Other than that, if a delay of 18 hours means 'lagging behind terribly', there is an option for you to become co-maintainer of the AUR repository, such that you can push updates yourself. For this, you might need to use arch however, since I don't know whether the tools for packaging arch packages are also available elsewhere.

Other than that, if a delay of 18 hours means 'lagging behind terribly',

Firstly, and urgently: Let me apologise for this! You are right, of course that I had a lot of releases yesterday. I just saw it lagged a few numbers behind, but that was of course NOT terribly! Really sorry!
This is something that I should be able to automatically create a PR for in a GitHub Action then.
Two questions:

What is pkgrel?
How are the sha256sums calculated?

Cool, thanks.
So in summary any PR would have to include the following changes:

Update pkgver to the latest version
Change the first item in the sources array to point to the latest release.
Update the first sha256sum to match the latest tar.
reset pkgrel to 1
Where needed: Update depends array to be up-to-date with latest requirements.txt

Is that correct?

Change the first item in the sources array to point to the latest release.

This is not necessary as the URL for the tarball is built form pkgver.
Otherwise, this is correct!

Sorry @Sir-Photch  , I haven't had a chance to implement this yet. The just release 7.1.13 is a fairly minor release, so no rush pushing this out.


chore(package): upgrade require-dir to 0.3.2

This pulls in https://github.com/aseemk/requireDir/pull/46

Thanks.


Add len & is_empty functions

There is currently no way to know how many toasts are active, making dismiss_oldest_toast only useful if you want exactly one toast.
But I'd like to have like at most 10 toasts or similar

Thanks.


how to prevent direct link from public ?

hai
i want to know how to prevent direct link from public
so direct link just allow from my website only ...
thanks...

Hey, sorry for late reply!
You can do so by using V2 of this index which is here - https://github.com/LeeluPradhan/G-Index/tree/2.0


[7.x] Fix class name.

Even if many test classes don't follow PSR-4 on one-class-per-file rule, it's always good to have the class name match the filename.

Thanks!


SiteMaps.Current.FindSiteMapNodeFromCurrentContext() returns null

I use the method SiteMaps.Current.FindSiteMapNodeFromCurrentContext() to return the current node. This does not work if the node has a custom attribute. If the custom attribute is empty or removed altogether, everything works fine.
I use .Net MVC 5 and SitemapProvider v 4.6.18

When using custom attributes, you must add them to the AttributesToIgnore configuration setting or they will automatically be taken into account when matching the node and when resolving the URL.

Thank you, it works now.

You're welcome.


ClassCastException on saving document with a BOOLEAN field in Studio

Hi,
Im getting the following error in OrientDB 2.0.5 studio sometimes while trying to save a document with a BOOLEAN field in it:
2015-03-26 10:08:55:769 SEVERE Internal server error:
java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String [ONetworkProtocolHttpDb]

Below is the screenshot:

Is the field isDeleted declared in the Test class?

Hi @maggiolo00. Im now using the 2.0.8 and I cant reproduce the problem anymore. I tried same class isDeleted attribute and parent class isDeleted attribute to no avail. I think it's safe to close the issue. Next time I'll give a more detailed description of the problem. Cheers


Fixed TSLint issues and Added support for alternative module paths lookup

Added support for alternative module paths.
Fully working with https://www.npmjs.com/package/app-module-path.

Thanks!

When are you planning to release it at the marketplace?

Just published the newest version 1.4.0


Update setup instructions on how to get book data

On the Readme file at https://github.com/git/git-scm.com#setup there's a reference to a rake task that would fetch data from the book repository. But the repository mentioned is from the 1st edition and not the 2nd edition.
On the rakefile I don't find any reference to the task (but I'm not familiar with Rakefile, so it may be defined somewhere else).

If the task no longer exist, we should update the docs on how to generate data from the book
If the task exists, we need to check if it works for the 2nd edition

If it does, just update the repo link
else we need to update the task to work correctly and update the repo link

The task is located in /lib/tasks/book2.rake
$  rake remote_genbook2

after setting up the environment variables for GitHub remote services authentication.

Solved by #982


copy attempts to interpret URI containing "[" as regex

When an URI includes the "[" character, S3FileSystem.copy attempts to interpret as a regex causing copy to fail to locate the file even though S3FileSystem.exists does locate the file and returns True.
I suppose this may be desired default behavior to match expectations from other file systems (?) but it would be good to have a way to prevent it.

You are right, this is expected, because "[" is a special character for glob. You can work around it by using copy_file instead, but of course that only works for one file. If you want to do recursive, you would need to use find and copy_file on the results (ideally with asyncio.gather), something like the current copy without attempting the glob. If you do also want glob, I think you are out of luck.

Thanks, but it seems like copy_file is not a function of S3FileSystem and I can't find any reference to it in the API doc. How do I access this function?

Sorry, cp_file (and its coroutine counterpart _cp_file).

Awesome that solved it, thanks!


HDFS-17129. mis-order of ibr and fbr on datanode

Description of PR
HDFS-16016 , provide new thread to handler IBR. That is a greate improvement. But it maybe casue the mis-order of ibr and fbr

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 30s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
37m 21s

trunk passed

+1 :green_heart:
compile
0m 58s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
compile
0m 54s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
checkstyle
0m 52s

trunk passed

+1 :green_heart:
mvnsite
0m 57s

trunk passed

+1 :green_heart:
javadoc
0m 54s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
1m 24s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
2m 13s

trunk passed

+1 :green_heart:
shadedclient
27m 10s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 48s

the patch passed

+1 :green_heart:
compile
0m 51s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javac
0m 51s

the patch passed

+1 :green_heart:
compile
0m 46s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
javac
0m 46s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 39s

the patch passed

+1 :green_heart:
mvnsite
0m 50s

the patch passed

+1 :green_heart:
javadoc
0m 42s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
1m 17s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
2m 17s

the patch passed

+1 :green_heart:
shadedclient
22m 50s

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

_ Other Tests _

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

+1 :green_heart:
asflicense
0m 36s

The patch does not generate ASF License warnings.

308m  9s

Reason
Tests

Failed junit tests
hadoop.hdfs.TestDFSUtil

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6244/1/artifact/out/Dockerfile

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

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

uname
Linux 92e94f4dd354 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 2508505b40367c30f4047780b604bdf73e16e7a3

Default Java
Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6244/1/testReport/

Max. process+thread count
3639 (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-6244/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

+1.
We've seen that a block is marked as missing block because of the mis-order after applying HDFS-16016. This bug can be reproduced as below:

client write block to dn1 and dn2 as pipeline
dn1/dn2 has over 1 million blocks and fbr is reported one by one disk.
when fbr is being reported, client finish writing, dn1/dn2 starts to trigger ibr in different thread.
nn receives all the operations and because of the namesystem write lock, the operations are executed in line as dn1-ibr, dn2-ibr, dn1-fbr-disk, dn2-fbr-disk. After this, the block is marked as a missing block.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 28s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
40m  6s

trunk passed

+1 :green_heart:
compile
0m 58s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
compile
0m 53s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
checkstyle
0m 50s

trunk passed

+1 :green_heart:
mvnsite
0m 56s

trunk passed

+1 :green_heart:
javadoc
0m 54s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
1m 24s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
2m 22s

trunk passed

+1 :green_heart:
shadedclient
28m 15s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 40s

the patch passed

+1 :green_heart:
compile
0m 51s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javac
0m 51s

the patch passed

+1 :green_heart:
compile
0m 44s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
javac
0m 44s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 38s

the patch passed

+1 :green_heart:
mvnsite
0m 43s

the patch passed

+1 :green_heart:
javadoc
0m 40s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
1m 13s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
2m  0s

the patch passed

+1 :green_heart:
shadedclient
24m  0s

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

_ Other Tests _

+1 :green_heart:
unit
193m 58s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 35s

The patch does not generate ASF License warnings.

304m 29s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6244/2/artifact/out/Dockerfile

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

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

uname
Linux 8314d376cf74 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 272e27d2aed39c669c94853dcea09f2c0e655907

Default Java
Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6244/2/testReport/

Max. process+thread count
3578 (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-6244/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

@Hexiaoqiao , hi sir , do you have to review it ? The Test Results are all finished without errors.

When BPServiceActor.blockreport()  executes , it send ibr first.  So to prevent mis-order, we can use a lock with fbr and ibr.
It will make block report order like that:
ibr ,  ibr , BPServiceActor.blockreport(ibr,  fbr) , ibr
So with this we can make the right order with blockreport.

@virajjasani could you reivew it ?Thanks

I have been reading the comments on the original ticket, and mostly share same thought as @Hexiaoqiao, the one case in the  end mentioned was answered here, I believe:
https://issues.apache.org/jira/browse/HDFS-16016?focusedCommentId=17783162&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17783162
and the reporter I believe tried without HDFS-16898? In general I didn't see IBR/FBR chocking at Datanode side, FBR anyway is very low frequency, the only place FBR creates problem is at NN side, when almost all DN shoot at one time, there is a logic to handle this scenario as well, Anyway.....
I was under the impression like when a DN pushes a FBR, all the pending IBR are pushed before? it isn't that the case now?
What is the fix, put both IBR & BR under lock? earlier only IBR was under lock or what? what case was the earlier lock solving?
I am just curious, I am not gonna merge this in general, will let other folks involved in the original ticket chase this..

the only place FBR creates problem is at NN side
DN side heartbeat will be blocked untils fbr finished , with large cold data storage disk in one datanode.

INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Successfully sentblock report 0x587d5aa72264fafd with lease ID 0x979291640945f56 to namenode: ****:8020,  containing 42 storage report(s), of which we sent 42. The reports had 15093613 total blocks and used 42 RPC(s).

earlier only IBR was under lock or what? what case was the earlier lock solving?
With HDFS-16016 , only IBR was under lock to guarantee ibr atomicity.

Thanks.

We need to discuss how to address the issue described in this pull request, which is currently blocking the release of hadoop-3.4.0 RC1.
After reading discussions in #5888 and #6244, I've identified two key pull requests:
#5408 (HDFS-16898. Remove write lock for processCommandFromActor of DataNode to reduce impact on heartbeat).
#2998 (HDFS-16016. BPServiceActor to provide a new thread to handle IBR).
It may take me a long time to completely solve the issue. My personal suggestion is to roll back #5408 (HDFS-16898) and #2998 (HDFS-16016).
@ayushtkn @Hexiaoqiao @virajjasani
cc: @LiuGuH @yuanboliu

It may take me a long time to completely solve the issue. My personal suggestion is to roll back https://github.com/apache/hadoop/pull/5408 (HDFS-16898) and https://github.com/apache/hadoop/pull/2998 (HDFS-16016).

@slfan1989 Thanks for your works. +1 from my side.

It may take me a long time to completely solve the issue. My personal suggestion is to roll back #5408 (HDFS-16898) and #2998 (HDFS-16016).

@slfan1989 Thanks for your works. +1 from my side.

@Hexiaoqiao Thank you for opinions!

@ayushtkn How do you think we should handle this?

If there is no quick fix, I am good with reverting & reopening the tickets which caused it rather than holding the RC

Why should we consider reverting HDFS-16898? The original problem of IBR conflicting with the heartbeat was significant in our environment. By backporting HDFS-16016, we managed to improve the situation. There's a possibility that HDFS-16898 could resolve this issue as well, according to the discussion in HDFS-16016. If the mis-order is indeed caused by HDFS-16016, wouldn't reverting just HDFS-16016 be enough? I apologize if I'm wrong, I'm in the middle of reviewing related PR discussions.

I'd like to share our situation in more detail. In my company, we are using hadoop-3.3.0 with many patches. We had a problem with IBR becoming very slow, which is exactly the issue described in HDFS-16898. Then, we backported HDFS-16061 and the problem was solved (HDFS-16898 didn't exist at that time).
Now, I have confirmed that our problem is fixed by HDFS-16898 without HDFS-16061. So, I would suggest only reverting HDFS-16061 for now. It may no longer be needed.

I'd like to share our situation in more detail. In my company, we are using hadoop-3.3.0 with many patches. We had a problem with IBR becoming very slow, which is exactly the issue described in HDFS-16898. Then, we backported HDFS-16016 and the problem was solved (HDFS-16898 didn't exist at that time).
Now, I have confirmed that our problem is fixed by HDFS-16898 without HDFS-16016. So, I would suggest only reverting HDFS-16016 for now. It may no longer be needed.

@tasanuma Thanks for your feedback! It's very valuable. I will only revert HDFS-16016.


Updated documentation about ISO-639 language codes

Updated documentation about ISO-639 language codes to clarify that alpha-2 standard is used.

Added market parameter to album and albums in spotipy.py to address (#753.


Publish Pending Order Open Price Change to clients

Hello friend, how are you? Could you configure the copy correctly? have you used it?

Hello friend, how are you? Could you configure the copy correctly? have you used it?


mountSuspended fails: 'set' on proxy: trap returned falsish for property 'error'

Environment

Operating System: Darwin
Node Version:     v20.8.1
Nuxt Version:     3.9.0
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, modules
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-gee6qy?file=app.vue
Describe the bug
Once I expose a variable called  error within the setup, the component fails to render.
Since everything works within the dev server / build, I suspect this is something within @nuxt/test-utils
After renaming the error variable to something else, the component can be mounted within the tests again.
Additional context
No response
Logs
Vitest caught 1 unhandled error during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
TypeError: 'set' on proxy: trap returned falsish for property 'error'
 ❯ clonedComponent.render node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:128:44
    126|                         renderContext[key] = passedProps[key];
    127|                       }
    128|                       return render.call(this, renderContext, ...args);
       |                                            ^
    129|                     } : void 0,
    130|                     setup: setup ? (props2) => wrappedSetup(props2, setupContext) : void 0
 ❯ renderComponentRoot node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:868:16
 ❯ ReactiveEffect.componentUpdateFn node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:46
 ❯ ReactiveEffect.run node_modules/@vue/reactivity/dist/reactivity.cjs.js:174:19
 ❯ instance.update node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6053:16
 ❯ setupRenderEffect node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6063:5
 ❯ eval node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:1613:9

This error originated in "test/app.nuxt.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "Should mount". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- This was the last recorded test before the error was thrown, if error originated after test finished its execution.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

I get a very similar error when using i18n + mountSuspended.
Setup file:
// vitest setup file
import { config } from '@vue/test-utils'
import { createI18n } from 'vue-i18n'

const i18n = createI18n({
  legacy: false,
  messages: {},
  missingWarn: false,
  fallbackWarn: false,
})

config.global.plugins.push(i18n)
config.global.mocks.t = (key: string) => key

Test example:
// example test
it('should display an empty message', async () => {
  const wrapper = await mountSuspended(component)

  const el = wrapper.find('div')
  expect(el.text()).toContain('translation.key.i.am.testing')
})

Error:
TypeError: 'set' on proxy: trap returned falsish for property 't'
 ❯ Proxy.clonedComponent.render node_modules/.pnpm/@nuxt+test-utils@3.9.0_@vue+test-utils@2.4.3_h3@1.9.0_happy-dom@11.2.0_vite@5.0.10_vitest@1.1_d2uy472anfacmqjz42f5nwql6e/node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:128:44
    126|                         renderContext[key] = passedProps[key];
    127|                       }
    128|                       return render.call(this, renderContext, ...args);
       |                                            ^
    129|                     } : void 0,
    130|                     setup: setup ? (props2) => wrappedSetup(props2, setupContext) : void 0
 ❯ renderComponentRoot node_modules/.pnpm/@vue+runtime-core@3.4.3/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:868:16
 ❯ ReactiveEffect.componentUpdateFn [as fn] node_modules/.pnpm/@vue+runtime-core@3.4.3/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:46
 ❯ ReactiveEffect.run node_modules/.pnpm/@vue+reactivity@3.4.3/node_modules/@vue/reactivity/dist/reactivity.cjs.js:174:19
 ❯ instance.update node_modules/.pnpm/@vue+runtime-core@3.4.3/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6053:16
 ❯ setupRenderEffect node_modules/.pnpm/@vue+runtime-core@3.4.3/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6063:5
 ❯ node_modules/.pnpm/@vue+runtime-core@3.4.3/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:1613:9

I am getting the exact same error with @tanstack/vue-query, specifically when I'm using the error that's returned by useQuery

also facing this same error. hopefully this gets resolved soon

I am facing this error "trap returned falsish for property 'nuxtApp'" when using 'nuxtApp = useNuxtApp()' in my vue files.
As I use this in all my page files that utilize useAsyncData() (as all my fetch operations are bundled in service classes via a plugin) I cannot use this library at all anymore after migrating from nuxt-vitest.

It seems that this is happening whenever you

It seems that this is happening whenever you

super weird, got a const showError = ref(false); that produce the same issue, renamed it to showAlert and it works....
¯_(ツ)_/¯

The issue is that this line fails, when some prop is already in the setupState of the component instance. But idk where e.g. the error prop in the setupState comes from.
https://github.com/nuxt/test-utils/blob/ba1fa2d91bd7db6102af9c3a7048745189f39086/src/runtime-utils/mount.ts#L114-L116
During dev mode does not allow overwriting this.
https://github.com/vuejs/core/blob/db374e54c9f5e07324728b85c74eca84e28dd352/packages/runtime-core/src/componentPublicInstance.ts#L433-L440

not only error like this, looks like URL is also not working on this
cant binding props URL to component with  tag
I need to change the props URL key  to some other name

Hey guys, I can imagine people who are working on this package are very busy and I don't want to be annoying but I think the fact that your tests fail whenever you have a variable called error in your component is a pretty big issue and makes this package pretty much unusable for us :,(

After updating from 3.13.1 to 3.14 I have now started experiencing this issue where multiple tests started failing. Any test with error as well as results as props to be precise. Renaming the props solves the issue, but causes having to use less simple/clear props.

After updating to 3.14, a lot of our tests broke as well with this error. @danielroe tagging you to see if you are aware of this issue, have you encountered this before?

Could this be related to a Vue upgrade? Would you try pinning Vue to the previous version?

Could this be related to a Vue upgrade? Would you try pinning Vue to the previous version?

@danielroe tried downgrading down to vue down to 3.4.0, (and 3.3, but then more stuff broke), the problem persisted. Also checked if it could be related to vite. downgraded to 3.5.3, but the problem persisted. This problem only arises for us with the latest version of test utils. I'll see if I can get a reproduction ready.

any news on this issue? it's currently unusable, and i don't really have the time to go through my app and change the names of hundreds of variables just because of this bug :-/

@danielroe I have a minimal reproduction ready.   https://stackblitz.com/~/github.com/rinux55/nuxt-684-error?file=test.json
Running the tests will trigger the error.
Super weird because it's all the latest packages with a minimal install. Same happens with @vue/test-utils and mountSuspended. Could you have a look?

I can also reproduce the isssue when a component has an error property like:
<script setup lang="ts">
const props = defineProps<{
  error?: string;
}>();
</script>

<template>
  <span>{{ props.error }}</span>
</template>

import { mountSuspended } from '@nuxt/test-utils/runtime';
import { describe, expect, it } from 'vitest';
import MyComp from './MyComp.vue';

describe('MyComp', () => {
  it('should render', async () => {
    const comp = await mountSuspended(MyComp);
    const span = comp.find('span');
    expect(span.text()).toBe('');
  });
});

repro: https://stackblitz.com/edit/nuxt-starter-sgmw2d?file=components%2FMyComp.spec.ts,components%2FMyComp.vue
note that this is working with @vue/test-utils: https://stackblitz.com/edit/vitejs-vite-nynq7r?file=comp.test.ts

Any update on this? I am also seeing this bug:
TypeError: 'set' on proxy: trap returned falsish for property 'error'
 ❯ Proxy.clonedComponent.render node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:147:44

Pertinent devDependencies:
"@nuxt/test-utils": "^3.14.4",
"@pinia/testing": "^0.1.7",
"jsdom": "^25.0.1",
"vitest": "^2.1.4"


convTri is not correctly called when calculating the pyramid

This is the matlab variant:
% compute image pyramid [approximated scales]
for i=isA
  iR=isN(i); sz1=round(sz*scales(i)/shrink);
  for j=1:nTypes, ratio=(scales(i)/scales(iR)).^-lambdas(j);
    data{i,j}=imResampleMex(data{iR,j},sz1(1),sz1(2),ratio); end
end

% smooth channels, optionally pad and concatenate channels
for i=1:nScales*nTypes, data{i}=convTri(data{i},smooth); end

and this is yours:
    util::ParallelHomogeneousLambda harness = [&](int j) {
        const int i = isA[j];

        int iR = isN[i - 1];
        cv::Size sz1 = round(cv::Size2d(sz) * scales[i - 1] / double(shrink));
        for (int j = 0; j < nTypes; j++)
        {
            double ratio = std::pow(scales[i - 1] / scales[iR - 1], -lambdas[j]);
            imResample(data[iR - 1][j], data[i - 1][j], sz1, ratio);
        }
        for (auto& img : data[i - 1])
        {
            convTri(img, img, smooth, 1);
        }
    };

cv::parallel_for_({ 0, int(isA.size()) }, harness);

However isA may be empty (it was in my case) which results in convTri not called at all. However the matlab code always applies convTri to all channels. So the convTri needs to be outside of the parallel_for call, maybe in it's own.

Thanks. Fix applied in #70 , testing ...
I'll make an issue to add some kind of pixel level pyramid tests in place for c++ vs matlab.  I think we can store ACF output from matlab, possibly in *.mat format, and load it via cvmatio for comparisons.

Added https://github.com/elucideye/acf/issues/71


docs: change docs style

Adds the new logo (from #158)
Changes Highlight.js' theme
Changes the header's style
Makes active items on the sidebar purple

I guess thats it.

Very cool

@all-contributors add @arthurbarroso for docs


Updates not tracking

The heatmap has been working for me fine for me after the first hiccup when first signing up a few months ago. Now however it has completely stopped working for me since Feb 6th. I tried waiting a while to see if it would be fixed, but nothing has changed so I decided to write this now.
Heatmap Account

MAL Account

I said this before when I first had problems, but in cases like this it would be really nice to be able to manually edit the tracker myself when it is down or not working properly. Hope this is something you will do or consider in the future.

Seems it finally updated yesterday. I don't know why it's taking so long with these updates sometimes when it is supposed to be updating more frequently. It's missing my Feb 15th updates since it took so long to update again. Also the dates are wrong on the updates still even thought I have my location listed and it's even using the proper update time on the side. Do I have to be even more specific on the location? I don't get why it won't work.

Yeah, I figured it out; it should normalize now. I removed some buggy semaphore controls; it should run updates at least once per day.
Open another issue in case you see something funky starting tomorrow on


Add the traverse action (closes #246)

Scenarios to test (on the multiroot sandbox)

[x] happy path (sync everything)
[x] cancel rebase (and possibly some other actions, push?) -> cancel == quit traverse
[x] quit the rebase
[x] handle no remote case
[x] no checkout when nothing is to be done
[x] ensure slide out works
[x] consider revamping of TraverseSyncTo{Parent|Remote} to real classes (do not use static methods)
[x] traverse selected (context menu action)
[x] traverse action logo
[x] check when push / rebase fails - checked by throwing git not installed exception from git4idea - rebase fails at this point
[x] check on "bigger" repo - bedzie pan zadowolony
[x] re-consider checkout when required - DO CHECKOUT
[ ] check rebase "fail" due to conflicts OR when stopping for commit edit (that's not a failure in any sense)

Other TODOs:

[x] update the docs

I can confirm the same for my macOS with intel

whoops, the rebase with conflicts seem to be an issue indeed 😞

(the text is of the second one is fixed too)


feat: Improved Earn Report

Currently the report on the Earn screen is just a table with the raw data from response of /v1/wallet/yieldgen/report/.
It would be a massive improvement already, if there were some kind of summary, like "amount of offers taken", "total sats earned", "sats earned in the last 7 days", etc. or any additional metric that might be of interest to the user.
Any ideas are welcome. Counting on you @editwentyone for having some design ideas on this.

Closing this in favor of  #386.


Ensure emoji render with regular font-weight (#11541)

Backport https://github.com/go-gitea/gitea/pull/11541 to 1.12.

make lg-tm work


ARTEMIS-2990 - alway be getBiased and only publish complete records a…

…nd only calculate linked addresses once ARTEMIS-2990

@franz1981 the little assert you mentioned on the linked address collection would have caught this. Am wiser now. Apart from the duplicate work on an existing (thing add/remove binding), I think we were also publishing too early. That is now sorted.

I would add an assert to verify the addressMap.put always return null, if I have correctly understood your change.

I like the idea, so the load (fast) path is now safe, because the linked addresses are correctly published already


Error: Govee BridgeGoveeWARNINGUnable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].

What issue do you have? Please be as thorough and explicit as possible.
I keep getting the same error: Govee BridgeGoveeWARNINGUnable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
Everything was working fine a few weeks ago but now it's not. Any suggestions?
Control works/connects fine from Govee app
Details of your setup.

Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS?

HOOBS

Which version of Homebridge/HOOBS do you have?

4.2.8

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.

Raspberry Pi

Which version of this plugin (homebridge-govee) do you have? Has the issue started since upgrading from a previous version?

7.1.9

Which Govee devices do you have that are causing issues? Please include product models if applicable.

TV immersive lights h6199_1448
Firmware: 1.09.12
hardware version: 3.02.01
Please paste any relevant logs below.

[log.txt](https://github.com/bwp91/homebridge-govee/files/10239217/log.txt)

[API - getDevices() - EAI_AGAIN].
12/6/2022, 11:10:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:11:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:11:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:12:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:12:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:13:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:13:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:14:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:14:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:15:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:15:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:16:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:16:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:17:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:17:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:18:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:18:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:19:28 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:19:58 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:20:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:20:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:21:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:21:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:22:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:22:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:23:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:23:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:24:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:24:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:25:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:25:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:26:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:26:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:27:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:27:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:28:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:28:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:29:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:29:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:30:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:30:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:31:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:31:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:32:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:32:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:33:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:33:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:34:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:34:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:35:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:35:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:36:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:36:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:37:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:37:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:38:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:38:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:39:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:39:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:40:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:40:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:41:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:41:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:42:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:42:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:43:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:43:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:44:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:44:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:45:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:45:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:46:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:46:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:47:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:47:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:48:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:48:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:49:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:49:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:50:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:50:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:51:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:51:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:52:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:52:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:53:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:53:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:54:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:54:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:55:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:55:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:56:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:56:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:57:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:57:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:58:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:58:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:59:29 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 11:59:59 AM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:00:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:00:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:01:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:01:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:02:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:02:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:03:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:03:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:04:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:04:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:05:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:05:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:06:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:06:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:07:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:07:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:08:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:08:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:09:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:09:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:10:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:10:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:11:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:11:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:12:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:12:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:13:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:13:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:14:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:14:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:15:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:15:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:16:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:16:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:17:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:17:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:18:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:18:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:19:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:19:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:20:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:20:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:21:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:21:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:22:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:22:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:23:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:23:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:24:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:24:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:25:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:25:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:26:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:26:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:27:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:27:59 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:28:29 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:29:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:29:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:30:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:30:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:31:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:31:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:32:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:32:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:33:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:33:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:34:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:34:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:35:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:35:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:36:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:36:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:37:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:37:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:38:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:38:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:39:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:39:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:40:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:40:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:41:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:41:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:42:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:42:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:43:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:43:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:44:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:44:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:45:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:45:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:46:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:46:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:47:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:47:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:48:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:48:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:49:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:49:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:50:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:50:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:51:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:51:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:52:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:52:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:53:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:53:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:54:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:54:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:55:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:55:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:56:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:56:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:57:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:57:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:58:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:58:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:59:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 12:59:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:00:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:00:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:01:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:01:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:02:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:02:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:03:00 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds [API - getDevices() - EAI_AGAIN].
12/6/2022, 1:03:30 PM Govee Bridge Govee [ WARNING ] Unable to reach Govee, retrying in 30 seconds

Update: I added login credentials and now I get this error: 9:17:28 AMGovee BridgeGoveeWARNING[HTTP] Unable to reach Govee, retrying in 30 seconds [login() - EAI_AGAIN].

i would keep govee username and password in the config and remove api key.
There would be no loss of functionality

Didn’t work? what are the errors showing now?

10:13:47 AMGovee BridgeGoveeWARNING[HTTP] Unable to reach Govee, retrying in 30 seconds [login() - EAI_AGAIN]


Font color as function

Added borderColor, hoverBackgroundColor and hoverBorderColor to the object argument that is passed to the fontColor callback function.
This allows more precise computation of the final text-color of the labels.

Yes, good idea, I've changed the code in my pull request, please review again. Thx.

You are right, I've fixed that, so there are no breaking changes now.


update equation pointer

Thanks!

No , THANK YOU ! Any ideas on steam sizing ?

The function size_control_valve_g covers superheated and saturated steam as well as other gases.


Compilation unsucessful

Hello,
I'm trying to compile polaris but it fails everytime on the same supposedly unstable library :
cargo build --release
   Compiling mp4ameta v0.7.1
   Compiling proc-macro2 v1.0.24
error[E0658]: use of unstable library feature 'matches_macro'

I tried with nightly and stable rust.
Rustup is installed and fine.
This is a VM using Debian 10.11
What can I do ?

It seems like your rust version is out of date. You could install rust using rustup  to get the latest release.

It seems like your rust version is out of date. You could install rust using rustup to get the latest release.

Hello, thanks for your answer.  That's what I did : it solved my problem.

I've seen Debian maintainers say the packaged rustc is in there to build the distro packages that require Rust, so they shouldn't be used for anything else.


[Feature] 增强游戏截图的浏览体验

Checklist

[X] I have already read docs/Tips.md, but my feature is not implemented.
[X] My suggested feature was not mentioned by others, and it is not a duplicate feature.

Summary
在已有的功能上，还需要增加缩放、旋转、复制等功能。
Solution or Design
直接把寻空的 ImageViewer 拿过来用就行了
https://github.com/xunkong/xunkong/blob/main/App/Controls/ImageViewer.xaml

支持快捷键 F11 全屏显示，Esc 退出浏览

已在 0.10.6-preview.1 中实现


Can't find a way to download extension

Is there a way to download and install the addon? It seems as if the addon code has been deleted.

Just extract the zip file from the relase to you addons folder


Allow overwriting of sharing links

This PR changes this by grouping the links within an object key: Site.Data.sharing.links. This means that sites can provide their own data/sharing.json file and overwrite the links key, to provide links of their own links.
Without the key, any custom links in data/sharing.json are appended, due to Hugo de-duping keys (not files).

Thanks @chrisbanes


ERROR: Failed to parse JSON: valueNotFound

Hello, I'm running Danger/swift as a GitHub action building an Xcode project. The build and test steps complete successfully and are outputting a Results.xcresult. The Danger steps runs after this. Danger is failing only for this PR. Others work fine.
Build complete! (7.33s)
ERROR: Failed to parse JSON: valueNotFound(Swift.KeyedDecodingContainer<Danger.GitHub.User.CodingKeys>, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "danger", intValue: nil), CodingKeys(stringValue: "github", intValue: nil), CodingKeys(stringValue: "reviews", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0), CodingKeys(stringValue: "user", intValue: nil)], debugDescription: "Cannot get keyed decoding container -- found null value instead.", underlyingError: nil))

ERROR: Dangerfile eval failed at Dangerfile.swift
ERROR: Could not get the results JSON file at /var/folders/67/gkms4rg94q71z22g0fv4p1rm0000gn/T/danger/1C82A6BB-0A4A-4A8C-AC0C-3970AC908619/danger-response.json

Failing the build, there is 1 fail.
Error:  TypeError: Cannot read property 'id' of null
    at /snapshot/danger-js/distribution/platforms/github/GitHubAPI.js:426:94
    at Array.map (<anonymous>)
    at /snapshot/danger-js/distribution/platforms/github/GitHubAPI.js:425:38
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

ℹ  A new release of danger-swift is available: 3.15.0 -> 3.16.0

Reposted the PR and now it's working. 🤷🏻♂


when running NPM start then getting error, It seems to me that /Release/wm folder missing,   But not getting folder even reinstalling package "electron-active-window"

Uncaught Error: Cannot find module './build/Release/wm'
Require stack:

C:\Yogesh Chaudhary\INV\iWatch\node_modules\electron-active-window\index.js
C:\Yogesh Chaudhary\INV\iWatch\src\index.html
at Module._resolveFilename (node:internal/modules/cjs/loader:963:15)
at o._resolveFilename (node:electron/js2c/renderer_init:2:3833)
at Module._load (node:internal/modules/cjs/loader:811:27)
at f._load (node:electron/js2c/asar_bundle:2:13328)
at o._load (node:electron/js2c/renderer_init:2:3109)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Yogesh Chaudhary\INV\iWatch\node_modules\electron-active-window\index.js:1:178)
at Object. (C:\Yogesh Chaudhary\INV\iWatch\node_modules\electron-active-window\index.js:49:3)
at Module._compile (node:internal/modules/cjs/loader:1141:14)

I am having the same issue unfortunately. Any thoughts on how to solve this? :)


Hanging after approval

Hi Guys I am testing the wallet integration and looking to call the sign transaction endpoint with the sdk in my iOS app. It all seems to function fine however once I have approved the call with the email sent to my email it just hangs on this screen.

The done button is unresponsive, not responding to clicks and if I click cancel I end up with status failed. I am calling the code via a button like this.
let sdk = MetaKeep(appId: "<appid is here>", appContext: AppContext())
                let reason = "To transfer "
                do {
                    let jsonData = try JSONEncoder().encode(response.transaction)
                    let jsonString = String(data: jsonData, encoding: .utf8)!
                    sdk.user = User(email: response.email)
                    sdk.signTransaction(
                      // Txn as a JsonObject
                      transaction: try JsonRequest(jsonString: jsonString),
                      // signing reason
                      reason: reason,
                      // Callback
                      callback: Callback(
                        onSuccess: { (result: JsonResponse) in
                          print("onSuccess")
                          print(result.description)
                        },
                        onFailure: { (error: JsonResponse) in
                          print("onFailure")
                          print(error.description)
                        }
                      )
                    )

Any Ideas where I am going wrong?

Ok I was missing
.onOpenURL { url in // Add onOpenURL handler.
MetaKeep.companion.resume(url: url.description) // Send callback to MetaKeep SDK
}
Adding it in fixed the issue.


krunner-pass build failure

Issue description
After switching to 19.03, krunner-pass failed to build
Steps to reproduce
nix-shell -p krunner-pass on 19.03, it is failing with:
[ 88%] Building CXX object CMakeFiles/krunner_pass.dir/pass.o
[100%] Linking CXX shared module krunner_pass.so
/nix/store/0y7jmqnj48ikjh37n3dl9kqw9hnn68nq-binutils-2.31.1/bin/ld: cannot find -lQt5::DBus
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/krunner_pass.dir/build.make:99: krunner_pass.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:175: CMakeFiles/krunner_pass.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
builder for '/nix/store/s8a7g0ijn2x50yi5vkkk236022iv1aa3-krunner-pass-1.3.0.drv' failed with exit code 2

Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

system: "x86_64-linux"
host os: Linux 4.19.34, NixOS, 19.03.172138.5c52b25283a (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2
channels(root): "nixos-19.03.172138.5c52b25283a"
channels(myuser): "home-manager-19.03"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Upstream issue here looks like the same problem

https://github.com/akermu/krunner-pass/issues/12

Needs a patch in the CMakeLists.txt probably.


Markdown definition lists

Support defintion lists for extended Markdown syntax:
Definition term
: Definition description

Added in d5d27f4ce332fe8ac306db85a643906ec383118b