x/crypto/ssh: support Diffie-Hellman Group Exchange from RFC 4419

A request for support of the diffie-hellman-group-exchange-sha1 key exchange algorithm was made on golang-nuts. This is supported by openssh 7.2 along with diffie-hellman-group-exchange-sha256, both of which are defined by RFC 4419.

/cc @agl just to make sure there isn't a good reason we don't support these kex algorithms.

Lack of support for diffie-hellman-group-exchange-sha256 is pretty limiting in our use-cases of SSH, and especially with compatibility of SFTP support of SSH.

I've not looked at the linked CL, but the group-exchange protocol is SSH isn't great and goes against the direction that TLS is going. Technically it's probably ok, but it's mostly just excess complexity.
That's not to say that it's unthinkable, but it needs to be justified and there are so far only unsubstantiated requests here.

it looks like this protocol needs an extra roundtrip to negotiate some parameter (the prime?). That makes it slow.
Is this because some SSH implementation stopped supporting the dh-group1 even though the SSH standards requires it? You'd expect a vendor that aggressively removed older algorithms to add newer algorithms (eg. ecdh-p256) to make up for that.
@baleksan  - what does SFTP have to do with the key exchange algorithm?

I would envision a case of competing requirements: an organization's
internal policy may require they not use dh-group1 but for some other
reason they are stuck using an older ssh implementation which doesn't
support the latest algorithms but does support dh group exchange. That's
just a guess though.
On Mon, Nov 28, 2016 at 10:10 AM Han-Wen Nienhuys<EMAIL_ADDRESS>wrote:

it looks like this protocol needs an extra roundtrip to negotiate some
parameter (the prime?). That makes it slow.
Is this because some SSH implementation stopped supporting the dh-group1
even though the SSH standards requires it? You'd expect a vendor that
aggressively removed older algorithms to add newer algorithms (eg.
ecdh-p256) to make up for that.
@baleksan https://github.com/baleksan - what does SFTP have to do with
the key exchange algorithm?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/17230#issuecomment-263347206, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AClAHqROkV9aw2bt7oCFla9zvwypaurKks5rCxkagaJpZM4KF_jM
.

+1

TL;DR
There are real situations, where DH group key exchange is needed. We have a working solution for DH group exchange, where at least the client side is running in production. (Change to x/crypto/ssh, drop-in addion)
I realy would appreciate if DH group exchange would be added to x/crypto/ssh.
Background story
In our case, a large vendor of firewall appliances decided around a year ago to remove dh-group1 due to the security issues. On the other hand, they were not able/ready/willing to add new key exchange algorithms. This left us in a very unpleasant situation because our Go based tooling was no longer able to access these firewall via SSH. On the other hand, the vendor pointed out to OpenSSH and putty, as possible solutions to connect to the appliances. While this was a valid answer for manual tasks on these firewall appliances, it was still not a valid solution for us, because we lost our ability to automate tasks and to proper monitor these firewall appliances.
Implementation
My own implementations and the one provided in the CL by @nerdatmath are quite similar (ok, there is not much room for creativity).
I do offer to provide a new mergable CL.
Limitations
Both implementations currently lake a proper implementation to load additional moduli on the server side implementation. I did a first implementation but I would not consider it to be finished.
Alternative solution
The current way, how key exchange algorithms are registered forces users of x/crypto/ssh to fork the whole x/crypto repository to simply add an alternative key exchange algorithm. As far as I can tell, the single missing part is, that the hash kexAlgoMap containing all the supported key exchange algorithms is in no way exposed outside the package. If there would exist an exported function, which would allow to add additional key exchange algorithms on initialization to kexAlgoMap, we would no longer need to fork the whole package but we could simply add DH group key exchange on our own while still use x/crypto unchanged. With my drop-in solution I already pushed this approach as far as I could, because it allows to add DH group key exchange by simply add a single file to x/crypto/ssh (and to modify the import path in the doc.go file). This is as less intrusive as I could come.
Remarks
Extra round trip
@hanwen mentioned, that there is an extra round trip involved for the key exchange. This is absolutely true, but is this a real argument against this algorithm? There are real world situations, like the mentioned situation above (removal of dh-group1 due to security reasons, without alternatives) where DH group exchange is the last possibility to still establish a SSH connection. In these situations as a user you are well willing to accept this additional round trip.
Unsustained requests
@agl mentioned in his comment, that currently there are only unsubstantiated requests. I would like to know, that would be needed, for this request to be enough sustained.
In my opinion, there is already some good justification in the following facts:

DH group exchange is well defined in an widely accepted RFC
Defacto standard implementations of SSH like OpenSSH (and putty on windows systems) do support this key exchange algorithm.

Addition resources
I would like to mention, that there existed already another requests to add DH group exchange to x/crypto/ssh:

https://github.com/golang/go/issues/11004

The larger issue is that the SSH started out as a package that offered a sensible set of algorithms and secure defaults, but interoperability with ancient hardware and strange decisions by vendors (such as the one breml alludes to) are forcing us to add everything and the kitchen sink.
There a couple of ways out:

hold to the original ideal (and incommodate people like breml).
declare defeat, and host everything and the kitchensink in the SSH package. Downside: we have to vet all the implementations.
declare defeat, and make algorithms pluggable. Downside: extra API surface, more likely for poor crypto implementations to proliferate.

Adam?
I slightly favor 2), as there is a finite amount of historical cruft we have to add, but you're the crypto expert who would have to review the code.

In two cases recently where I've added things to crypto/tls that were motivated by this sort of thing, I've regretted it. It's always going to be the case that those who would benefit from adding more cruft will advocate for it strongly, but the disperse costs will be ignored.
If we're going to add things, I think issues like #17676 have much greater merit since they're asking for things that are better designed than what we currently have.

I guess we'll continue deciding this on a case-by-case basis then?
I think the decision of said vendor to remove dh-group1 but not provide dh-group14 (which is basically the same code but with a larger and therefore more secure prime) is silly, and the alternative kex qualifies as cruft, so I don't see why we would want to add it. File a bugreport with said vendor?
As a response to @breml : OpenSSH is actually actually removing older algorithms from their code base, see https://www.openssh.com/txt/release-7.0  - the fact that OpenSSH implements something by itself is not a proof that it's a good idea.
(if we were to take OpenSSH as a standard, we would be removing DSA support from the Go package.)

I vote for option 1, hold the line. The are companies like active state who
may be comfortable managing the risk of providing a fork of this package
that includes deprecated algos.
On Tue, 17 Jan 2017, 03:56 Han-Wen Nienhuys<EMAIL_ADDRESS>wrote:

I guess we'll continue deciding this on a case-by-case basis then?
I think the decision of said vendor to remove dh-group1 but not provide
dh-group14 (which is basically the same code but with a larger and
therefore more secure prime) is silly, and the alternative kex qualifies as
cruft, so I don't see why we would want to add it. File a bugreport with
said vendor?
As a response to @breml https://github.com/breml : OpenSSH is actually
actually removing older algorithms from their code base, see
https://www.openssh.com/txt/release-7.0 - the fact that OpenSSH
implements something by itself is not a proof that it's a good idea.
(if we were to take OpenSSH as a standard, we would be removing DSA
support from the Go package.)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/17230#issuecomment-272914110, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcAzqzEAcqm0Eaw3dFid36QY-CgFe-ks5rS6FFgaJpZM4KF_jM
.

@hanwen, @agl First of all I would like to thank you for looking at and commenting on this issue. I can assure you, that filling a bug with said firewall vendor was the first thing we did, even before we thought about implementing an additional kex for x/crypto/ssh. But as a "normal" customer (even with an installed base of several 100 devices) it is quite hard to get an open ear if you don't represent a Fortune 500 company (or something similar).
The solution I would hope for is that there is an API (proposal 3 by @hanwen), which allows to add missing algorithms. In fact this would also allow to test and use newer algorithms until they eventually become part of x/crypto.
I would like to know, how you define "cruft". As a non native English speaker, this translates for me to something like "unnecessary software". If this is an appropriate translation, this would lead me to the question, what is the definition of unnecessary. What would be for example the minimal required user base for a piece of x/crypto to not be considered unnecessary. In my opinion there are other parts within the Go ecosystem, which also only support a very small user base like exotic processor architectures and operating systems or not yet standardized network protocol proposals. Would this also be considered as cruft?
I can understand, if the decision is, that this kex is not integrated into x/crypto/ssh, because it is considered cruft. But in this case I would hope, that the same criteria would be applied to other parts of the Go ecosystem, as these parts also needed to be vet (as @hanwen puts it). Maybe there should even be some kind of guidelines, what requirements have to be fulfilled for a feature to be added. This is in my opinion especially true, if decisions are made on a case-by-case base.

Just for documentation purposes: in https://github.com/zmap/zgrab/commit/3a144e6e866b8c96b5717ce455ad5034630e918b my single file drop in solution was used to implement DH Group Exchange.

@hanwen & @baleksan : Lack of diffie-hellman-group-exchange-sha256 breaks SFTP in rclone for me. The cloud storage I connect only offer diffie-hellman-group-exchange-sha256 and nothing else.
I also reported it here: https://github.com/ncw/rclone/issues/1810

Let's not forget the cost/waste of having each developer use ugly workarounds or implementations (much worse than those that would be provided by approaches (2) or (3)).

Typical response for a vendor when I ask them to add new key exchange algorithms so that they're interoperable with Go:
"Thanks to ubiquitous support for the diffie-hellman-group-exchange-sha256 key exchange algorithm (with the unfortunate exception of golang), we have not seen demand for other algorithms to be supported aside from your request. Unfortunately, due to the effort that would be involved, it is unlikely that we will be able to add support for additional algorithms such as<EMAIL_ADDRESS>in the near future unless we see significant demand for it."

Also got bitten by the diffie-hellman-group-exchange-sha256 issue.
Seems like the discussion has halted some time ago, are they're any plans to add support for this ?

We also need support for diffie-hellman-group-exchange-sha256.... are there any news about supporting this kex algo?

My stance has been that the SSH package should be a small, well curated subset of SSH, but I have to reconsider this stance.
Because SSH is the lingua franca to talk to network devices, and these devices often are not upgraded after the initial release, the SSH package has grown many extensions of that have questionable quality (eg. 3DES-CBC) but are indispensable for administrating devices in real life. The group-exchange kex methods also belong to this category.
My new stance will be that features available (and not deprecated) in OpenSSH should in principle be open to inclusion.
If someone would be so good to revive the outstanding change for this and send it for review, that would be great.

@hanwen I have a "drop-in" implementation, that is already used by several projects. I can create a PR on that basis.

@hanwen I looked into my existing code and I sent a PR (golang/crypto#87). While doing so, the following questions have emerged:

Should this PR include diffie-hellman-group-exchange-sha256 as well as the less secure diffie-hellman-group-exchange-sha1? The IETF recommendation Key Exchange (KEX) Method Updates and Recommendations for Secure Shell (SSH) dated of July, 30th 2017 does recommend to NOT include diffie-hellman-group-exchange-sha1. On contrary, if the purpose of this PR is to make the Go ssh package more similar to OpenSSH, then it should still be included (as it is still included in recent OpenSSH packages, e.g. Ubuntu 19.04: OpenSSH_7.9p1 Ubuntu-10, OpenSSL 1.1.1b  26 Feb 2019).
The slice supportedKexAlgos does list the key exchange algorithms in the order of preference. What is the right position to insert diffie-hellman-group-exchange-sha256 (and maybe diffie-hellman-group-exchange-sha1)?
In order to negotiate the key size, the client and the server provide a minimum, prefered and maximum key size (see). What key sizes should we use here (I think the maximum is OK, the question is more about the minimum and the prefered key size)
For DH Group Exchange to work, the server side implementation uses moduli (with the agreed to key size) in order to generate the key.

I included the necessary code to load the moduli from the local OpenSSH (normally /etc/ssh/moduli or /usr/local/etc/moduli, see). Do you know other locations, we should try for moduli?
Are you aware about locations for moduli on e.g. Windows?
As fallback, the implementation in the PR includes some moduli from OpenSSH (see link in the source code). The original PR used some other moduli from RFC 4253 and RFC 3526 (see). Which route should we go here?

In regards to the minimum key size RFC 8270 should be considered.

@hanwen & @baleksan : Lack of diffie-hellman-group-exchange-sha256 breaks SFTP in rclone for me. The cloud storage I connect to only offer diffie-hellman-group-exchange-sha256 and nothing else.
I also reported it here: ncw/rclone#1810

Same issue for me.

The primary use here is a Go client with a server that cannot be upgraded to newer algorithms, so

we should preferably add the SHA1 method.
the algorithms should not be part of the preferred/recommended kex list. It should only be a supported kex.
what the devices that insist on using the group kex want for min/max? in absense of further data, the openSSH defaults should be OK
Let's not insert file parsing routines here. Instead, provide the OpenSSH data as Go types, and leave it to the server implementers to parse files if they want to provide server support too.

I think RFC 8270 should not be considered, unless we can be sure this does not break backward compatibility.
If you care about security, you should use ECDH based on P256 or the kex based on Ed25519

@hanwen I updated the PR according to your feedback.

The primary use here is a Go client with a server that cannot be upgraded to newer algorithms, so

we should preferably add the SHA1 method.

Done.

the algorithms should not be part of the preferred/recommended kex list. It should only be a supported kex.

I removed this kex from the list of prefered kex.
The variable for the prefered kex is currently called supportedKexAlgos, which is missleading in my opinion, because the set of supported kex is bigger. The variable only reflects the prefered/suggested kex.

what the devices that insist on using the group kex want for min/max? in absense of further data, the openSSH defaults should be OK

I let the minimum key size untouched on a value of 2048 bit, because the current OpenSSH implementation uses this minimum according to their dh.h. They have this value since Oct 2015 (they also reference RFC 8270).
I think this value is save also with the devices in question since the actual bit size is chosen by comparing min, prefered and max of both sides and I doubt there is a device, which has the max set to less than 2048 bits.

Let's not insert file parsing routines here. Instead, provide the OpenSSH data as Go types, and leave it to the server implementers to parse files if they want to provide server support too.

I am not yet sure how to proceed with this one. Questions:

Do you want to include the full list of the OpenSSH data? The moduli file from OpenSSH contains more than 200 moduli, which then all would get compiled into every binary, parsed during initialization and put into memory for every application that uses the ssh package.
With "as Go types" do you mean something like an exported var Moduli map[int][]Modulus and then export the type Modulus as well like this:

type Modulus struct {
	Generator int64
	Modulus   *big.Int
}

With this implementation proposed above, there is the potential danger of a data race for the Moduli variable.
An alternative would be to include the moduli as a config option in ServerConfig.

PR on Github: https://github.com/golang/crypto/pull/87

I understand the pain of balancing compatibility and feature creep, but I don't want inclusion in OpenSSH to be the bar for inclusion in x/crypto/ssh. Changes like this should encounter appropriate resistance, and an automatic criteria like "is it in OpenSSH" will open the flood gates to features we don't actually need.
Every addition should be judged on the basis of how important to compatibility it is, how it can be avoided or replaced with something more widely compatible, and how hard it is to work around its absence. I'm not saying this issue doesn't clear that bar, I'm saying that's where the bar should stay.
About this specific instance, a few thoughts:

Do we actually need diffie-hellman-group-exchange-sha1 on top of diffie-hellman-group-exchange-sha256? I don't see evidence in that direction.
The currently proposed implementation is not constant time, it must be opt-in if it is added.
Depending on the filesystem environment for making handshakes succeed is deeply surprising for Go programs (where static builds are a core concept). Do we actually need all moduli for compatibility, or can we pick the most common, and add more as needed over time?
If there is a slower, more compatible common denominator (like, say, a mode that spends a round-trip negotiating moduli, instead of hardcoding 200 of them), we should implement that instead.

thanks Filippo:

I view openssh more as a guideline than an automatic bar. Their deprecation policy also is an indication whether we should add things.

re. SHA1: this bugreport opens with a request for SHA1. I expect it to be zero extra work, so if we are adding suboptimal algorithms for compatibility's sake, we might add SHA1 as well.

Is constant-time a consideration for establishing ephemeral keys? (I admit to not having read the RFC yet.)

Regarding further technical discussion: could we do them on the review instead? That's what code review is for after all.

"..open the flood gates to features we don't actually need.."
who is 'we' in this sentence?

re. SHA1: this bugreport opens with a request for SHA1. I expect it to be zero extra work, so if we are adding suboptimal algorithms for compatibility's sake, we might add SHA1 as well.

Finding a better solution that still addresses most of use case is what I want this process for. A single feature request should not be enough to clear the bar for inclusion, what arguably does it are the detailed reports that followed, and those all mention sha256.

Is constant-time a consideration for establishing ephemeral keys? (I admit to not having read the RFC yet.)

Good point, I might be wrong worrying about that here. I’ll leave it to you, if you are convinced the key is single use and there is no risk, I have no objection.

"..open the flood gates to features we don't actually need.."
who is 'we' in this sentence?

The Go community, which I admit is a hard target to keep track of.

Since Filippo asked for using the crypto proposal, added the label.
The proposal is:
Support the group-exchange key exchange method for the benefit of clients connecting to older servers. The kex should be have a server-side implementation too for unittesting purposes. We don't support configurable moduli.
I added some comments on the change to reflect this.

Since there is a CL in flight for this, and I'm on vacation next week, fast-tracking this without passing by the proposal committee.
Let's do only diffie-hellman-group-exchange-sha256, only on the client side, and make it opt-in.
I went through all the comments and issue references, and the only two that mention the SHA1 variant are the first one from 2016, and zgrab which is firmly out of scope.
If the server side implementation is needed for testing, it can live in a _test.go file.
(Does this allow us to drop diffie-hellman-group1-sha1 and diffie-hellman-group14-sha1 BTW?)

@FiloSottile When I hit this problem in 2017, the situation was, that the hardware appliances, we needed to connect to with SSH + DH Group Exchange, only supported the SHA1 variant. Since then, the situation has improved with newer models and newer firmware releases, such that SHA256 is supported as well, but I am pretty sure, that there are still devices in the field, where only SHA1 variant is supported.
My detailed explanation does not mention SHA1 explicitly, because the implementation I did, supported both variants. Also the piece of software, that uses my implementation is closed source, so it can not be linked in this issue directly.

@breml Thanks for following up. I'm sure there will always be a long tail, but it sounds like the SHA-256 variant these days is well supported, and the amount of deployments supporting only the SHA-1 variant is getting smaller, meaning it will get less important to have as time passes, not more.

we can start with sha256 and add sha1 if there is a need.
I don't see a cost to adding sha1 that we haven't already paid by adding 3DES-CBC, so it's largely an academic discussion.

Hi all contributors!
I must say thank you so much for pushing this change! I can't wait for it to go out - right now we have to write some crazy, ugly, impossible to maintain code to support the algorithms you're about to support natively in the library.
Thank you! ❤

Any news on when this can be expected to be released?

@canni As far as I know it has been released.  If you update to the current version of golang.org/x/crypto you should see it.

@iamoryanmoshe hmm... I looks like on go1.13.4 and latest x/crypto I'm still getting this error:
Failed to connect to *******:22. Error: ssh: handshake failed: ssh: no common algorithm for key exchange; client offered<EMAIL_ADDRESS>ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha1], server offered: [diffie-hellman-group-exchange-sha256

@canni This kex is disabled by default so you have to explicitly opt-in to use it. Please have a look at this test case for an example: https://github.com/golang/crypto/blob/57b3e21c3d5606066a87e63cfe07ec6b9f0db000/ssh/test/session_test.go#L420-L427

@breml thanks, this works! I wasn't aware of this :)

@canni can you share the config changes you made? It's still not working for me.

This works for me:
sshConf := ssh.Config{}
sshConf.SetDefaults()
sshConf.KeyExchanges = append(
	sshConf.KeyExchanges,
	"diffie-hellman-group-exchange-sha256",
	"diffie-hellman-group-exchange-sha1",
)

cfg := ssh.ClientConfig{
	/* removed */
	Config: sshConf,
}

Thanks @canni, That helped! :)

This works ! but now i'm running into failures on concurrent ssh, a few gets through tho. Below is the error i'm seeing,
ssh: handshake failed: crypto/rsa: verification error
It has nothing to do with the keys as its random hosts failing always. Seems more like its running into race condition with diffiehelman addition. Works perfectly with default kex's. Below is the race    condition errors i see.
==================
WARNING: DATA RACE
Write at 0x00c00021ace8 by goroutine 85:
golang.org/x/crypto/ssh.(*dhGEXSHA).Client()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/kex.go:602 +0x43d
golang.org/x/crypto/ssh.(*handshakeTransport).client()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:627 +0x127
golang.org/x/crypto/ssh.(*handshakeTransport).enterKeyExchange()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:587 +0xaa3
golang.org/x/crypto/ssh.(*handshakeTransport).kexLoop()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:301 +0x296
Previous write at 0x00c00021ace8 by goroutine 203:
golang.org/x/crypto/ssh.(*dhGEXSHA).Client()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/kex.go:602 +0x43d
golang.org/x/crypto/ssh.(*handshakeTransport).client()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:627 +0x127
golang.org/x/crypto/ssh.(*handshakeTransport).enterKeyExchange()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:587 +0xaa3
golang.org/x/crypto/ssh.(*handshakeTransport).kexLoop()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:301 +0x296
Goroutine 85 (running) created at:
golang.org/x/crypto/ssh.newClientTransport()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:135 +0x311
golang.org/x/crypto/ssh.(*connection).clientHandshake()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/client.go:105 +0x47c
golang.org/x/crypto/ssh.NewClientConn()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/client.go:83 +0x1d1
golang.org/x/crypto/ssh.Dial()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/client.go:177 +0xe6
xxxxxxx/force.Sshconnect()
xxxxxxxxxxx/go/src/xxxxxxx/force/forcessh.go:226 +0xca
xxxxxxx/force.executeCmd()
xxxxxxxxxxx/go/src/xxxxxxx/force/forcessh.go:183 +0x7d
xxxxxxx/force.Input.func1()
xxxxxxxxxxx/go/src/xxxxxxx/force/forcessh.go:380 +0x87
Goroutine 203 (running) created at:
golang.org/x/crypto/ssh.newClientTransport()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/handshake.go:135 +0x311
golang.org/x/crypto/ssh.(*connection).clientHandshake()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/client.go:105 +0x47c
golang.org/x/crypto/ssh.NewClientConn()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/client.go:83 +0x1d1
golang.org/x/crypto/ssh.Dial()
xxxxxxxxxxx/go/src/golang.org/x/crypto/ssh/client.go:177 +0xe6
xxxxxxx/force.Sshconnect()
xxxxxxxxxxx/go/src/xxxxxxx/force/forcessh.go:226 +0xca
xxxxxxx/force.executeCmd()
xxxxxxxxxxx/go/src/xxxxxxx/force/forcessh.go:183 +0x7d
xxxxxxx/force.Input.func1()
xxxxxxxxxxx/go/src/xxxxxxx/force/forcessh.go:380 +0x87
==================
Any help is appreciated.

@KarthikNath Thanks for reporting this. It looks like this key exchange implementation is not concurrent safe, which I suspect is a requirement. Can you please open a new issue about this?

@KarthikNath Please provide some more details on how you use this kex with some code example. And please mention me on the issue, such that I can have a look.

the kex instance comes from kexAlgoMap, and is shared across invocations. This worked for previous algorithms that had constant parameters. For the group exchange, you have to return a fresh instance for every kex.


Convert REP -> DAI is Inverted

@andrewdamelio -- Uniswap pairs are ordered lexicographical by the token address -- so with the mainnet REPv2 token its in the opposite order as the testnet deploys.
We need to swap this rate. Also, should update the copy to say REPv2 and use the new icon.

closed with #8756


Return Type of buildUrl function is any

I don't know if this is on purpose or not, but I think it would be safer if the return type of buildUrl function was string instead of any, or if the users should expect other types, then other types instead of any, so that we'd know what to expect. It'd be awesome if that's a doable change.

Thanks @oeyazgan I have fixed this in the latest release -<EMAIL_ADDRESS>Would you check and let me know if this fix the type issue.


Can't get table width to fit to page

Hi,
I've got a page with an HTML table on it, set to 100% width on the page. I'd like to output the table into a PDF which fits the table to the width of the page and the document will create as many pages as is necessary for the whole table. My code is as follows:
html2pdf($('div.node-content')[0], {
      filename:     'myReport.pdf',
      margin:       0,
      image:        { type: 'jpeg', quality: 0.98 },
      html2canvas:  { dpi: 192, letterRendering: true },
      jsPDF:        { format: 'a4', orientation: 'p' }
});

I've found that the table does not fit the PDF page width and a couple of columns on the right of the table are clipped off. I've experimented with the format option in the jsPDF setting as well as the margin option but I can't seem to affect this behaviour.
Any thoughts on how to do this would be much appreciated.
John

A partial answer to my question - it seems that the table will scale to fit 100% width up to a certain size. If the table is larger than the width available then the scaling "gives up" and doesn't shrink to fit, it just clips the rightmost columns.

Hey @johnvanbreda, really sorry I never got back to you. I've been swamped. So did you sort out the issue? What you've described (table filling the page width, and producing as many pages as necessary for all the rows) is exactly what html2pdf should produce. You're right that it can cause problems if the table's content exceeds its container's size.

Hi @eKoopmans, thanks for getting back to me. Yes, it seems the problem relates to the table content exceeding the container size - I was expecting this to scale the content either to increase or decrease it to fit, but it seems it will only scale up not down.
I have a hack which works OK, but it is a bit messy. Basically I look at the $(table).width() value for each table and if it is over a certain width (1100px for landscape for example), I apply a CSS attribute to decrease the font size by the same ratio by which the content is too wide. I'm not convinced it is a perfect solution but it is "good enough".

Right, I hear you. There have been a few requests for "single-page PDFs", where the entire content would be shrunk down to the page size - this might fall into that category. Or more generally, a "fit-to-width" option (which could still span multiple pages).
Currently html2pdf just restricts the page size and lets the content re-flow naturally to fit in the space. It works well for many circumstances, but it sounds like it's not perfect for yours. I'll add this to the project tracking for the single-page PDFs, might be a while until I get to it though!

Yes - the fit-to-width option would meet my needs. Thanks.

Hello !
i'm having the same problem !

Hi, Me too. Can you release new version with the fit-to-width option as soon as possible, please!

Hi everyone, I haven't forgotten about this, but time is short these days. I hope I'll be able to get to this soon.

Hello,
Affects me as well

Same probleme here :)

same prob here! :)

Same here

same here

any updates with this issue?

Same here

Just in case it helps some people, I ended up switching over to using PrintThis (https://github.com/jasonday/printThis) where it isolates content and triggers the browser's print command which then allows the visitor to save to PDF. This then doesn't suffer this issue (this issue then being important enough for me to switch over to this alternative method). I can definitely see how this then doesn't meet the needs of others since dealing with the print dialogue would be ideal to avoid (I'd like to avoid it as well, but I found the other approach sufficient for now.)

Anyone mind giving me an example for fit-to-width? Is this a CSS option I need to include in my container styling, or a configuration option for underlying jsPDF?

Is there any update on this topic? The image is still not resized to fit the width of the specified jsPDF format (A4 in my case). It fits the height of 2 pages exactly though, but the width overflows.

I found a solution for this problem. You need to set the width property in html2canvas. Find out the width of your element in pixels and pass that to html2canvas, something like:
html2canvas:  { width: element_width_in_pixels },

Hello! This is what worked for me is (but the solution is feasible because I don't need it portrait, and the format is just for view mode, when you actually print it you select A4):
jsPDF: {orientation: 'landscape', format: 'a3'}

Hello! This is what worked for me is (but the solution is feasible because I don't need it portrait, and the format is just for view mode, when you actually print it you select A4): jsPDF: {orientation: 'landscape', format: 'a3'}

Thanks! it's worked for me.
`const option = {
margin: 1,
image: {type: 'jpeg', quality: 0.98},
html2canvas: {scale: 2},
pagebreak: {mode: 'avoid-all'},
jsPDF: {unit: 'mm', format: 'a3', orientation: 'p'}
    };

    html2pdf().set(option).from(source).toPdf().save('my.pdf');`

me too

this work with me! 🆘
const info = document.getElementsByClassName('xxxx')[0] as HTMLElement;
info.style.width = info.scrollWidth.toString() + 'px';

hi guys i already testing this out. at first my pdf look like this

after trial error i found this solution how to make my image fit to width and height propotional as i capture so it look like this

i followed this tips from stackoverflow. hope this helps


done

Codecov Report

Merging #88 (7a750b1) into main (e758c2f) will decrease coverage by 3.68%.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
- Coverage   75.59%   71.92%   -3.68%
==========================================
  Files          21       18       -3
  Lines         877      755     -122
==========================================
- Hits          663      543     -120
+ Misses        214      212       -2

Files Changed
Coverage Δ

src/conformal_models/conformal_models.jl
92.30% <ø> (ø)

... and 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Multiclass Regression using BERT Based models

Hey @amaiya
I am trying to solve a multi-class regression problem using ktrain. but I think ktrain only supports a single column as (target) dependent feature ,
how can I achieve the following results ktrain or using any other packages?
Eg:
Sentance                   |  positive   | Negative | Neutral
Today is a good day     | 80            | 9               | 11
Training data : Sentance Column (text) ["Today is a good day"]
Output :  Continuous values (int/flot)  [80,9,11]
Thanks

Hello @VinayChaudhari1996 :  To do what you want, you can simply use a single column.  See this example that uses ktrain to predict YELP review scores between 1 and 5 (transformed to scale of -2 to +2, where 0 is neutral). If any questions, feel free to reply to this thread.

Hi @amaiya ,
Actually my problem is about predicting continuous variables
Eg :-
Given sentence :-
Basically developers used Git and GitHub

Hello: I understand your question now.  Multi-output regression isn't supported out of the box right now, unfortunately.  There would need to be some code changes to support this, since ktrain assumes a single scalar as the target for all regression problems.


Nuxt3 uses lazy, when I modify the code, the hot update does not take effect

Environment

Reproduction

Describe the bug
I used "@nuxtjs/i18n": "^8.0.0-beta.10" in the project and configured lazy. I found that the modification in the language file will trigger the hot update, but when I modify the code, the hot update will not trigger.
我在项目中使用了"@nuxtjs/i18n": "^8.0.0-beta.10"，配置了lazy，我发现在语言文件中修改会触发热更新，但是我在修改代码时热更新不会触发。
Additional context
No response
Logs
No response

Thank you for your reporting!
Unfortunately, We could not reporoduce this issue.
Issue guideline says:

Please use a template below to create a minimal reproduction, and provide to us your issue cases
👉 https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz
👉 https://codesandbox.io/p/github/nuxt/starter/v3-codesandbox

We need minimul reproduction. 🙏

close due to non-active.
if you would have still issue, please open the new issue.
Thanks!


Explanation of the difference between the two docker images

Doc change only, no functional change. Describe that to  run .so, user need to fetch the dev version.
Signed-off-by: Alexandre Eichenberger<EMAIL_ADDRESS>

Jenkins Linux s390x Build #6881 [push] explanation of the diffe... started at 14:54

Jenkins Linux amd64 Build #6866 [push] explanation of the diffe... started at 13:54

Jenkins Linux ppc64le Build #5974 [push] explanation of the diffe... started at 14:56

Jenkins Linux amd64 Build #6866 [push] explanation of the diffe... passed after 1 hr 11 min

Jenkins Linux s390x Build #6881 [push] explanation of the diffe... passed after 1 hr 29 min

Jenkins Linux ppc64le Build #5974 [push] explanation of the diffe... passed after 1 hr 35 min


macos: disable auto-updates for local (source) builds

The auto-update prompt isn't useful for local (source) builds so disable both update checks and automatic downloads for the Debug and Release configurations.
Fixes #3179

Would it be difficult to an option for the config file?
auto-update = true/false

That way a user can still manually check for updates, but the auto-check for updates would be disabled.

Would it be difficult to add an option for the config file?

This already exists.

I'm happy enough with this approach, but I think I'd still have a small preference for:

Always disabling Sparkle by default in Ghostty-Info.plist (SUEnableAutomaticChecks=NO)
Using PlistBuddy in the release workflows to "enable" Sparkle by deleting that plist entry.

Three reasons:

This Info.plist preprocessing still feels a little hacky, but it's at least using a standard mechanism.
We already modify the plist in those workflows to write GhosttyCommit.
It ties the "turn on Sparkle" logic to the release process instead of the build scheme, which may or may not be the better approach.

I don't feel very strongly but wanted to note my thoughts after sitting with it for a bit.

This looks super well done thank you.

Temporarily reverted this since I think the definition is set in Release. I didn't fully verify but I don't want to risk it quite yet. Sorry @jparise. I still want to get this in but want to verify...

Temporarily reverted this since I think the definition is set in Release. I didn't fully verify but I don't want to risk it quite yet. Sorry @jparise. I still want to get this in but want to verify...

Yes, that was my mistake. I included Release instead of ReleaseLocal. I can fix that up later today unless you get to it first.

Using PlistBuddy in the release workflows to "enable" Sparkle by deleting that plist entry.

Yeah, I think my biggest fear is we cut a release that disables automatic updates by accident. This would solve that. I'd be happy to take a PR to rework this to do it that way.

#3943 implements this safer approach. It's also simpler than what I had here because it doesn't involve plist preprocessing and is conceptually aligned with the release process, which is already updating the plist with Sparkle's public key.


chore(XXX): update config example with experimental features

Pull Request Checklist

[x] 📖 I created my PR using provided  : CODE_STANDARDS
[x] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[x] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[x] 📝 I have used conventional commits.
[ ] 📗 I have updated any related documentation.
[ ] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 46.83%. Comparing base (ebe63e8) to head (6dbd4a0).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #740   +/-   ##
=======================================
  Coverage   46.83%   46.83%
=======================================
  Files         325      325
  Lines       13322    13322
=======================================
  Hits         6239     6239
  Misses       6518     6518
  Partials      565      565

Flag
Coverage Δ

unittests
46.83% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report in Codecov by Sentry.

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


initContainer busybox missing private repo

Hi
in the daemonset.yaml the busybox image is missing the private repo values. Currently it's hardcoded.
https://github.com/k8spacket/k8spacket-helm-chart/blob/master/charts/k8spacket/templates/daemonset.yaml#L47
It should be set as it is for the main image

@jerem0808
Fix is ready and merged with #21 PR.
To use it, update the repo and k8spacket helm chart with a custom image for the init container:
helm repo update k8spacket
helm upgrade k8spacket --namespace k8spacket k8spacket/k8spacket --set-string initContainer.image=busybox:stable


Added some Algorithms

@Astrodevil Please review

@ArpitaGupta4086 Did you make any issue before this PR? if yes mention it.

@Astrodevil No, I did not. Shall I create one now?

@Astrodevil No, I did not. Shall I create one now?

From next time create Issue and get that assigned to make PR

@Astrodevil No, I did not. Shall I create one now?

From next time create Issue and get that assigned to make PR is this for hacktoberfest?

Okay I'll make sure I do that from the next time. Yes, for Hacktoberfest.


Remove duplicated YODB inteface #46

Fixes #46

I confirm both YODB and YORODB are used in many applications, so we cannot simply remove this now because this is breaking change. If we do, we need to deprecate it first.

@kazegusuri
Thanks for the confirmation.
I though it would be ok since already generated templates are not going to change, but not so?

Closing since we are not going to change that for v1


Add a no-op seach bar as per UX mocks

Fixes #1153

@... PTAL?

Codecov Report

Merging #1297 (c4a4609) into master (12aab52) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1297   +/-   ##
=========================================
  Coverage     28.78%   28.78%
  Complexity      789      789
=========================================
  Files           295      295
  Lines          7004     7004
  Branches        415      415
=========================================
  Hits           2016     2016
  Misses         4870     4870
  Partials        118      118

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

We don't need  search for MVP so could hold off on making this visible for
now. Please see priorities in roadmap for details.
On Sat, Sep 24, 2022, 12:09 PM Shobhit Agarwal @.***>
wrote:

Fixes #1153 https://github.com/google/ground-android/issues/1153
@... PTAL?
You can view, comment on, or merge this pull request online at:
https://github.com/google/ground-android/pull/1297
Commit Summary

5ba78bd
https://github.com/google/ground-android/pull/1297/commits/5ba78bd139c871aac3c6b61af0dd19d42ca32cfc
Move recycler view inside home_layout and anchor to gps btn
c4a4609
https://github.com/google/ground-android/pull/1297/commits/c4a46094e81d62c564da1afae9bd72f354f47010
Add a no-op search view

File Changes
(4 files https://github.com/google/ground-android/pull/1297/files)

M
ground/src/main/java/com/google/android/ground/ui/home/mapcontainer/MapContainerFragment.kt
https://github.com/google/ground-android/pull/1297/files#diff-0c772442eb0fbce4510ddc586ca74d20d0ffcb234c818e8f5112d163995acefb
(2)
M ground/src/main/res/layout/map_container_frag.xml
https://github.com/google/ground-android/pull/1297/files#diff-44f47791518946c36d409c7ca69b192c570f598b68df0203ed500b77eee15fc2
(13)
M ground/src/main/res/layout/map_home_layout.xml
https://github.com/google/ground-android/pull/1297/files#diff-0b6538fea552d8415389208e1fbaa4e2da4ee36e5cb9797696e677adda7fd8fa
(74)
M ground/src/main/res/values/strings.xml
https://github.com/google/ground-android/pull/1297/files#diff-84bc62836f9e1dadf5b8c36e4744f3e63e13c4fd34bd309c60f8cd3469aad026
(1)

Patch Links:

https://github.com/google/ground-android/pull/1297.patch
https://github.com/google/ground-android/pull/1297.diff

—
Reply to this email directly, view it on GitHub
https://github.com/google/ground-android/pull/1297, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABXVUT6GUDJSKO3STIDGRDV74RS5ANCNFSM6AAAAAAQUWOPQQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

:+1:


Update the inventory runner script.

Coverage remained the same at 70.935% when pulling daa1aa3a24fda92ffeb25efd2315b934c22e2c9e on fixexampleusage into 868499fbe6eab3180715112d5084391aa1addca3 on master.

Coverage remained the same at 70.935% when pulling daa1aa3a24fda92ffeb25efd2315b934c22e2c9e on fixexampleusage into 868499fbe6eab3180715112d5084391aa1addca3 on master.

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


Install Tensorflow on Jetson TX2

Hello,
Can you point me on how to install Tensorflow on Jetson TX2 board?
Every help will be appreciated.
Thank you.

I will leave some links.
But mainly you need to understand that the pack of cuda and Cudnn is already installed on jetson TX2.
And the wheel of tensorflow is compiled for jetson.
Here some links:
https://nvidia.app.box.com/v/TF180-Py35-wTRT
https://devtalk.nvidia.com/default/topic/1031300/tensorflow-1-7-wheel-with-jetpack-3-2-/
https://github.com/openzeka/Tensorflow-for-Jetson-TX2


About decoders shared libraries

Hello, I have built a Docker image of DeepSpeech. I prefer to not install every time the swig wrappers since it should be enough to build once and then load at runtime.
Therefore this is what I did
I have built my library in the lib/ folder within my swig folder, because I need the shared library (.so) to be there in the package without building it at install.
Without any modifications to swig_import_helper I got the error
Traceback (most recent call last):
  File "/MyProject/swig_wrapper.py", line 6, in <module>
    import swig_decoders
  File "/MyProject/swig/swig_decoders.py", line 26, in <module>
    _swig_decoders = swig_import_helper()
  File "/MyProject/swig/swig_decoders.py", line 25, in swig_import_helper
    return importlib.import_module('_swig_decoders')
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_swig_decoders'

I have thereforre modified importlib in order load the local library:
def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_swig_decoders')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            try:
                import os
                import importlib.util
                BASE_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)))
                spec = importlib.util.spec_from_file_location("module._swig_decoders", os.path.join(BASE_PATH, 'lib'))
                foo = importlib.util.module_from_spec(spec)
                spec.loader.exec_module(foo)
            except:
                return importlib.import_module('_swig_decoders')
    _swig_decoders = swig_import_helper()

the libraries are located in the local path swig/lib:
.
└── swig_decoders-1.1-py3.7-linux-x86_64.egg
    ├── EGG-INFO
    ├── __pycache__
    ├── _swig_decoders.cpython-37m-x86_64-linux-gnu.so
    ├── _swig_decoders.py
    └── swig_decoders.py

Also in the swig/build folder I have the static compiled libraries:
[17:24:43] ip-192-168-1-52:build loretoparisi$ tree -L 2
.
├── lib.linux-x86_64-3.7
│   ├── _swig_decoders.cpython-37m-x86_64-linux-gnu.so
│   └── swig_decoders.py
└── temp.linux-x86_64-3.7
    ├── ctc_beam_search_decoder.o
    ├── ctc_greedy_decoder.o
    ├── decoder_utils.o
    ├── decoders_wrap.o
    ├── kenlm
    ├── openfst-1.6.3
    ├── path_trie.o
    └── scorer.o

I'm still getting an import error when I build:
  File "MyProject/swig/swig_decoders.py", line 14, in swig_import_helper
    return importlib.import_module(mname)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named '_swig_decoders'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "MyProject/swig/swig_decoders.py", line 21, in swig_import_helper
    foo = importlib.util.module_from_spec(spec)
  File "<frozen importlib._bootstrap>", line 580, in module_from_spec
AttributeError: 'NoneType' object has no attribute 'loader'

Is this due to a library path error or to the importlib when using  importlib.util.spec_from_file_location?
I have asked the same question here:
https://stackoverflow.com/questions/60994100/swig-import-local-shared-library-in-python3

have you tried rename _swig_decoders.cpython-37m-x86_64-linux-gnu.so to _swig_decoders.so

@heavengate I will give a try with renaming thank you.


More cleanup

@marcoceppi Would you mind merging my long standing PR?

Wow... That was really fast. Will update the PR to match latest code (changes were done by PHPStorm back then)


Karmada Metrics Backend

What type of PR is this?
/kind feature

What this PR does / why we need it:
Karmada operated in an on-demand mode, fetching metrics in real-time upon each user HTTP request. We have transitioned to a pre-fetch mode by implementing a cron job that periodically collects metrics and stores them in a SQLite database. This change allows the API to serve data directly from the local database when users make queries, enhancing performance and reducing latency.
Which issue(s) this PR fixes:
Fixes #62

/assign @warjiang

@axif0
I found the problem that why you cannot import the "github.com/karmada-io/dashboard/cmd/metrics-scraper/app/db" package, the reason is

just renamed the db       *sql.DB object like sqldb or other name.


Support more CSS at-rules in CssStyle definitions

It would be useful if CssStyle would support CSS at-rules in general.
For example: @container, @starting-style, etc.

Thank you for filing this issue! I will review missing at-rules before we launch 1.0.
I may break this up into separate bugs at some point. For example, @container seems like a long-awaited, really nice upgrade to media queries.
We recently added support for CSS layers. Hopefully the work done on that will make adding other at-rules easier to do, although I guess we'll see.


how can we add slides dynamically to the slider?

Hello, it seems I forgot to add a slide block, but for now what you can do is select a slide in the layer manager and duplicate it. Until I can add that functionality in. I could accept a PR also.

I did some change
Please Review @kaoz70


unable to .add() or .delete()

Trying to write unit tests. Data can be initialized by using MockSetFor() without a problem. That data can later be found or updated. But I am unable to successfully call Add() on a mocked EF DBset. there is no error but DBset count is unchanged. Not sure if this is an error, or something I am doing wrong. Does Add() work ?

Add() and Remove() are currently not supported.  Behaviorally, they are tricky to implement if I am to stay as close to Entity Framework as possible.
If you're testing when an object is added or removed from a context, you might be as well served by checking when an object is added or removed via Moq.  I'd need more information about your use case before I could help you further, but here's a quick example (modified from my README :)
public async Task PostTest()
{
	var controller = new PersonsController(contextMock.Object);
	var newPerson = new Person { Name = "John Lackey" }
	await controller.Post(newPerson);

	setMock.Verify(s => s.Add(newPerson), Times.Once());
	mockContext.Verify(c => c.SaveChangesAsync(), Times.Once());
}


[Feature request] Sort by time period

Could you add an option so that within the "sort" categories, you can specify a time period? When I sort posts by "top", the default seems to be by "week". I tried changing this by pushing / and entering subreddit/top/?sort=top&t=month, as I would in the browser. However, the script doesn't support that many slashes in the subreddit entry field.

I think this is the same thing that was asked here https://github.com/michael-lazar/rtv/issues/244, so I'm marking as duplicate.


Feat: Added Navigation (Desktop) component

fix: your home page has overflow on x-axis and image is overflowing.
Try to make CL responsive.
Thanks for bringing it to attention. Fixed the issue.


FastDeploy在Atlas 200I DK A2上交叉编译出现的问题？

环境

【FastDeploy版本】： FastDeploy-1.0.7和FastDeploy-develop
【硬件】： HUAWEI Atlas 200I DK A2开发板
【编译语言】： C++

问题日志及出现问题的操作流程

板端编译时由于板端CPU有限无法完成编译，因此专用交叉编译方式进行编译，但是1.0.7和develop版本下的交叉编译会存在下面错误，具体运行命令和日志如下所示：
分析日志报错位置“error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed”，感觉错误出在新版本的FastDeploy源码无法提供包的下载链接，请问这个问题有什么解决方法？
详细日志如下：

(base) amax@amax:~/HUAWEI/FastDeploy/build$ git branch -a
develop
release/1.0.6

release/1.0.7
remotes/origin/HEAD -> origin/develop
remotes/origin/develop
remotes/origin/jiangjiajun-patch-1
remotes/origin/llm
remotes/origin/release/0.1
remotes/origin/release/0.2
remotes/origin/release/0.3
remotes/origin/release/0.4
remotes/origin/release/0.5
remotes/origin/release/0.6
remotes/origin/release/0.7
remotes/origin/release/0.8
remotes/origin/release/1.0
remotes/origin/release/1.0.1
remotes/origin/release/1.0.2
remotes/origin/release/1.0.3
remotes/origin/release/1.0.4
remotes/origin/release/1.0.5
remotes/origin/release/1.0.6
remotes/origin/release/1.0.7
(base) amax@amax:~/HUAWEI/FastDeploy/build$ su
Password:
(base) root@amax:/home/amax/HUAWEI/FastDeploy/build# cmake .. -DCMAKE_C_COMPILER=/opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=/opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ -DCMAKE_TOOLCHAIN_FILE=./../cmake/toolchain.cmake -DTARGET_ABI=arm64 -DWITH_ASCEND=ON -DENABLE_VISION=ON -DENABLE_LITE_BACKEND=ON -DCMAKE_INSTALL_PREFIX=fastdeploy-ascend
-- The C compiler identification is GNU 6.3.1
-- The CXX compiler identification is GNU 6.3.1
-- Check for working C compiler: /opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
-- Check for working C compiler: /opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
-- Check for working CXX compiler: /opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Downloading file from https://bj.bcebos.com/fastdeploy/third_libs/patchelf-0.15.0-x86_64.tar.gz to /home/amax/HUAWEI/FastDeploy/build/patchelf-0.15.0-x86_64.tar.gz ...
-- [download 1% complete]
-- [download 6% complete]
-- [download 11% complete]
-- [download 17% complete]
-- [download 22% complete]
-- [download 27% complete]
-- [download 32% complete]
-- [download 37% complete]
-- [download 43% complete]
-- [download 48% complete]
-- [download 53% complete]
-- [download 58% complete]
-- [download 64% complete]
-- [download 69% complete]
-- [download 74% complete]
-- [download 79% complete]
-- [download 84% complete]
-- [download 90% complete]
-- [download 95% complete]
-- [download 100% complete]
Decompress file /home/amax/HUAWEI/FastDeploy/build/patchelf-0.15.0-x86_64.tar.gz ...
-- Build FastDeploy Ascend C++ library on X86 platform.

-- Using src='https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz'
-- Retry after 15 seconds (attempt #4) ...
-- Using src='https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz'
-- Retry after 60 seconds (attempt #5) ...
-- Using src='https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz'
CMake Error at extern_paddlelite-stamp/download-extern_paddlelite.cmake:159 (message):
Each download failed!
error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed
status_code: 22
status_string: "HTTP response code said error"
log:
--- LOG BEGIN ---
Trying 2409:8c04:1001:1002:0:ff:b001:368a:443...
TCP_NODELAY set
Connected to bj.bcebos.com (2409:8c04:1001:1002:0:ff:b001:368a) port 443
(#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[88 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[1 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[155 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[25 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Certificate (11):
[2974 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, CERT verify (15):
[264 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Finished (20):
[52 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS handshake, Finished (20):
[52 bytes data]
SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
ALPN, server accepted to use http/1.1
Server certificate:
subject: C=CN; ST=Beijing; O=BeiJing Baidu Netcom Science Technology Co., Ltd; CN=.bcebos.com
start date: Sep 23 00:00:00 2022 GMT
expire date: Oct 18 23:59:59 2023 GMT
subjectAltName: host "bj.bcebos.com" matched cert's ".bcebos.com"
issuer: C=US; O=DigiCert Inc; CN=DigiCert Secure Site Pro CN CA G3
SSL certificate verify ok.
[5 bytes data]
[1 bytes data]
GET /fastdeploy/third_libs/lite-linux-arm64-20230316.tgz HTTP/1.1
Host: bj.bcebos.com
User-Agent: curl/7.66.0
Accept: /
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
old SSL session ID is stale, removing
[5 bytes data]
[1 bytes data]
Mark bundle as not supporting multiuse
The requested URL returned error: 404 Not Found
Closing connection 0
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS alert, close notify (256):
[2 bytes data]
   --- LOG END ---
   error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed
   status_code: 22
   status_string: "HTTP response code said error"
   log:
   --- LOG BEGIN ---
     Trying 2409:8c04:1001:1002:0:ff:b001:368a:443...

TCP_NODELAY set
Connected to bj.bcebos.com (2409:8c04:1001:1002:0:ff:b001:368a) port 443
(#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[88 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[1 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[155 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[25 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Certificate (11):
[2974 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, CERT verify (15):
[264 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Finished (20):
[52 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS handshake, Finished (20):
[52 bytes data]
SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
ALPN, server accepted to use http/1.1
Server certificate:
subject: C=CN; ST=Beijing; O=BeiJing Baidu Netcom Science Technology Co., Ltd; CN=.bcebos.com
start date: Sep 23 00:00:00 2022 GMT
expire date: Oct 18 23:59:59 2023 GMT
subjectAltName: host "bj.bcebos.com" matched cert's ".bcebos.com"
issuer: C=US; O=DigiCert Inc; CN=DigiCert Secure Site Pro CN CA G3
SSL certificate verify ok.
[5 bytes data]
[1 bytes data]
GET /fastdeploy/third_libs/lite-linux-arm64-20230316.tgz HTTP/1.1
Host: bj.bcebos.com
User-Agent: curl/7.66.0
Accept: /
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
old SSL session ID is stale, removing
[5 bytes data]
[1 bytes data]
Mark bundle as not supporting multiuse
The requested URL returned error: 404 Not Found
Closing connection 0
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS alert, close notify (256):
[2 bytes data]
   --- LOG END ---
   error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed
   status_code: 22
   status_string: "HTTP response code said error"
   log:
   --- LOG BEGIN ---
     Trying 2409:8c04:1001:1002:0:ff:b001:368a:443...

TCP_NODELAY set
Connected to bj.bcebos.com (2409:8c04:1001:1002:0:ff:b001:368a) port 443
(#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[88 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[1 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[155 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[25 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Certificate (11):
[2974 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, CERT verify (15):
[264 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Finished (20):
[52 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS handshake, Finished (20):
[52 bytes data]
SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
ALPN, server accepted to use http/1.1
Server certificate:
subject: C=CN; ST=Beijing; O=BeiJing Baidu Netcom Science Technology Co., Ltd; CN=.bcebos.com
start date: Sep 23 00:00:00 2022 GMT
expire date: Oct 18 23:59:59 2023 GMT
subjectAltName: host "bj.bcebos.com" matched cert's ".bcebos.com"
issuer: C=US; O=DigiCert Inc; CN=DigiCert Secure Site Pro CN CA G3
SSL certificate verify ok.
[5 bytes data]
[1 bytes data]
GET /fastdeploy/third_libs/lite-linux-arm64-20230316.tgz HTTP/1.1
Host: bj.bcebos.com
User-Agent: curl/7.66.0
Accept: /
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
old SSL session ID is stale, removing
[5 bytes data]
[1 bytes data]
Mark bundle as not supporting multiuse
The requested URL returned error: 404 Not Found
Closing connection 0
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS alert, close notify (256):
[2 bytes data]
   --- LOG END ---
   error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed
   status_code: 22
   status_string: "HTTP response code said error"
   log:
   --- LOG BEGIN ---
     Trying 2409:8c04:1001:1002:0:ff:b001:368a:443...

TCP_NODELAY set
Connected to bj.bcebos.com (2409:8c04:1001:1002:0:ff:b001:368a) port 443
(#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[88 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[1 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[155 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[25 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Certificate (11):
[2974 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, CERT verify (15):
[264 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Finished (20):
[52 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS handshake, Finished (20):
[52 bytes data]
SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
ALPN, server accepted to use http/1.1
Server certificate:
subject: C=CN; ST=Beijing; O=BeiJing Baidu Netcom Science Technology Co., Ltd; CN=.bcebos.com
start date: Sep 23 00:00:00 2022 GMT
expire date: Oct 18 23:59:59 2023 GMT
subjectAltName: host "bj.bcebos.com" matched cert's ".bcebos.com"
issuer: C=US; O=DigiCert Inc; CN=DigiCert Secure Site Pro CN CA G3
SSL certificate verify ok.
[5 bytes data]
[1 bytes data]
GET /fastdeploy/third_libs/lite-linux-arm64-20230316.tgz HTTP/1.1
Host: bj.bcebos.com
User-Agent: curl/7.66.0
Accept: /
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
old SSL session ID is stale, removing
[5 bytes data]
[1 bytes data]
Mark bundle as not supporting multiuse
The requested URL returned error: 404 Not Found
Closing connection 0
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS alert, close notify (256):
[2 bytes data]
   --- LOG END ---
   error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed
   status_code: 22
   status_string: "HTTP response code said error"
   log:
   --- LOG BEGIN ---
     Trying 2409:8c04:1001:1002:0:ff:b001:368a:443...

TCP_NODELAY set
Connected to bj.bcebos.com (2409:8c04:1001:1002:0:ff:b001:368a) port 443
(#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[88 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[1 bytes data]
[5 bytes data]
TLSv1.3 (OUT), TLS handshake, Client hello (1):
[512 bytes data]
[5 bytes data]
[5 bytes data]
TLSv1.3 (IN), TLS handshake, Server hello (2):
[155 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[25 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Certificate (11):
[2974 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, CERT verify (15):
[264 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Finished (20):
[52 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS handshake, Finished (20):
[52 bytes data]
SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
ALPN, server accepted to use http/1.1
Server certificate:
subject: C=CN; ST=Beijing; O=BeiJing Baidu Netcom Science Technology Co., Ltd; CN=.bcebos.com
start date: Sep 23 00:00:00 2022 GMT
expire date: Oct 18 23:59:59 2023 GMT
subjectAltName: host "bj.bcebos.com" matched cert's ".bcebos.com"
issuer: C=US; O=DigiCert Inc; CN=DigiCert Secure Site Pro CN CA G3
SSL certificate verify ok.
[5 bytes data]
[1 bytes data]
GET /fastdeploy/third_libs/lite-linux-arm64-20230316.tgz HTTP/1.1
Host: bj.bcebos.com
User-Agent: curl/7.66.0
Accept: /
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
[5 bytes data]
[1 bytes data]
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[265 bytes data]
old SSL session ID is stale, removing
[5 bytes data]
[1 bytes data]
Mark bundle as not supporting multiuse
The requested URL returned error: 404 Not Found
Closing connection 0
[5 bytes data]
[1 bytes data]
TLSv1.3 (OUT), TLS alert, close notify (256):
[2 bytes data]
   --- LOG END ---
   error: downloading 'https://bj.bcebos.com/fastdeploy/third_libs/lite-linux-arm64-20230316.tgz' failed
   status_code: 22
   status_string: "HTTP response code said error"
   log:
   --- LOG BEGIN ---
     Trying 2409:8c04:1001:1002:0:ff:b001:368a:443...

TCP_NODELAY set
Trying <IP_ADDRESS>:443...


requireNativeComponent: "LottieAnimationView" was not found in the UIManager RN 0.70

Description
I just updated the version of React Native from 0.69 to 0.70. Now, when I launch the app on both Android and iOS, I receive the following error:

I am asking for help because similar issues have not been resolved.
Steps to reproduce
Install dependencies
Launch the app
Snack or a link to a repository
Private repository
Lottie React Native version
6.7.2
React Native version
0.70.15
Platforms
Android, iOS
Workflow
React Native
Architecture
Paper (Old Architecture)
Build type
None
Device
None
Acknowledgements
Yes

Try downgrading to lottie react native version. I'm using the following versions and it works fine:
"lottie-ios": "3.4.0",
"lottie-react-native": "^5.1.6"

For me, I had to rebuild my react-native dev client

hey guys still facing this issue with expo after rebuilding dev client as well could anyone help out here?

Same here

@mihirpenugonda  or @alejandroacho  How you fixed now ??

Is there any update?


USEFULCOURSES.json

You have to add a new course and not make changes to existing courses unless and until there is an issue with it (in that case raise an issue).
@KingArthur526


no chance to import pyAudio on macOS

From<EMAIL_ADDRESS>on 2014-10-10T12:17:53Z
I installed pyAudio on my mac with its own installer, then in Spyder (either in console or in a program):
import pyaudio
produces this message
ImportError: No module named pyaudio
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=2002

From ccordoba12 on 2014-11-18T12:17:53Z
You need to change your interpreter to get it detected. See this post on how to do it:
http://stackoverflow.com/questions/19795469/importing-arcpy-module-into-anacondas-spyder/19813292#19813292


[la7] Add podcast support

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense

What is the purpose of your pull request?

[x] New feature

Description of your pull request and other information
Added support for pages containing podcast both single episode and playlist

Playlist test
λ py test\test_download.py TestDownload.test_LA7Podcast
[debug] Loading archive file None
[la7.it:podcast] propagandalive: Downloading webpage
[download] Downloading playlist: Propaganda Live
[info] Writing playlist metadata as JSON to: test_LA7Podcast_propagandalive.info.json
[la7.it:podcast] playlist Propaganda Live: Collected 10 videos; downloading 10 of them
[download] Downloading video 1 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_371130.info.json
[download] Downloading video 2 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_369898.info.json
[download] Downloading video 3 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_368654.info.json
[download] Downloading video 4 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_367473.info.json
[download] Downloading video 5 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_366373.info.json
[download] Downloading video 6 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_365327.info.json
[download] Downloading video 7 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_363958.info.json
[download] Downloading video 8 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_362617.info.json
[download] Downloading video 9 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_361346.info.json
[download] Downloading video 10 of 10
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7Podcast_360269.info.json
[download] Finished downloading playlist: Propaganda Live
.
----------------------------------------------------------------------
Ran 1 test in 0.678s

OK

Single episode test
λ py test\test_download.py TestDownload.test_LA7PodcastEpisode
[debug] Loading archive file None
[la7.it:pod:episode] 371497: Downloading webpage
[info] Downloading format(s) mp3
[info] Writing video metadata as JSON to: test_LA7PodcastEpisode_371497.info.json
[debug] Invoking downloader on 'https://limone.iltrovatore.it/audio.mp3?source_r=la7&fn=podcast-voicetown-371497.mp3&mp3l=159&mp3pid=voicetown'
[download] Destination: test_LA7PodcastEpisode_371497.mp3
[download] 100% of 10.00KiB in 00:00
.
----------------------------------------------------------------------
Ran 1 test in 0.925s

OK


(1.9) Fix flask-compress import

High-level description
This is a 1.9 backport of #2829
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS_OSS-2422 test_history_service is failing on master

Checklist for all PRs

[x] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change: This fixes an import, no other change is intended.
[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here: This fixes the unit tests for dcos-history.
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot bump-ee

@mesosphere-mergebot ping

@mesosphere-mergebot label ready for review

@mesosphere-mergebot bump-ee

@mesosphere-mergebot override-status teamcity/dcos/test/aws/cloudformation/simple https://jira.mesosphere.com/browse/QUALITY-1975

@mesosphere-mergebot label ship-it

@urbanserj  - Thank you!. Even this PR and the train PR (https://github.com/dcos/dcos/pull/2828) could see an owner's attention.  Thanks again!


_handlePaymentError is not working in release mode in Flutter Web.

_handlePaymentError is working in debug mode, but is not working in release mode,  _handlePaymentSuccess seems to be fine.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.6, on macOS 14.0 23A344 darwin-arm64, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] VS Code (version 1.84.0)
[✓] Connected device (2 available)
[✓] Network resources

I tested it thoroughly but it seems to be working fine in release mode.  It was an issue from my side. Thank you for your package!


An error has occurred while serving metrics

Details
What steps did you take and what happened:

Have compiled app into Windows binary. Running with the following command line; .\exportarr.exe radarr --port 9708 --url radarr.fabrikam.com --api-key<PHONE_NUMBER>
Launched browser on my machine using the example format: http://<IP_ADDRESS>:9708/metrics
Received the following output:
An error has occurred while serving metrics:
5 error(s) occurred:

error collecting metric Desc{fqName: "radarr_queue_collector_error", help: "Error while collecting metrics", constLabels: {url="radarr.fabrikam.com"}, variableLabels: {}}: Failed to execute HTTP Request(radarr.fabrikam.com/api/v3/queue?page=1): Get "radarr.fabrikam.com/api/v3/queue?page=1": Error sending HTTP Request: unsupported protocol scheme ""
error collecting metric Desc{fqName: "radarr_health_collector_error", help: "Error while collecting metrics", constLabels: {url="radarr.fabrikam.com"}, variableLabels: {}}: Failed to execute HTTP Request(radarr.fabrikam.com/api/v3/health): Get "radarr.fabrikam.com/api/v3/health": Error sending HTTP Request: unsupported protocol scheme ""
error collecting metric Desc{fqName: "radarr_rootfolder_collector_error", help: "Error while collecting metrics", constLabels: {url="radarr.fabrikam.com"}, variableLabels: {}}: Failed to execute HTTP Request(radarr.fabrikam.com/api/v3/rootfolder): Get "radarr.fabrikam.com/api/v3/rootfolder": Error sending HTTP Request: unsupported protocol scheme ""
error collecting metric Desc{fqName: "radarr_collector_error", help: "Error while collecting metrics", constLabels: {url="radarr.fabrikam.com"}, variableLabels: {}}: Failed to execute HTTP Request(radarr.fabrikam.com/api/v3/movie?excludeLocalCovers=true): Get "radarr.fabrikam.com/api/v3/movie?excludeLocalCovers=true": Error sending HTTP Request: unsupported protocol scheme ""
error collecting metric Desc{fqName: "radarr_history_collector_error", help: "Error while collecting metrics", constLabels: {url="radarr.fabrikam.com"}, variableLabels: {}}: Failed to execute HTTP Request(radarr.fabrikam.com/api/v3/history): Get "radarr.fabrikam.com/api/v3/history": Error sending HTTP Request: unsupported protocol scheme ""

What did you expect to happen:
Expected to see page of metrics as output from radarr

Anything else you would like to add:

Additional Information:

Maybe sure you include the http uri scheme in the url argument.

Thank you, that fixed it quite easily.


Fix: coordinate rounding

Ref: #468
Fixes the above issue.

[x] References to issues, e.g. close #X, are in the commit messages.
[ ] The buildserver is happy.
[x] The PR is rebased with current master.

Checklist

[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added unit tests for my code
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
(exceptions are documented)
[ ] Code is consistent to our Design Decisions

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] Examples are well chosen and understandable

We actually never had the problem but good to have it fixed :heart:
See you soon!


Vuetify: Unexpected character '@' (Note that you need plugins to import files that are not JavaScript)

Congrats about the project.
But it seems that is doesn't work with Vuetify:
[snowpack] Failed to load node_modules/vuetify/src/directives/ripple/VRipple.sass
  Unexpected character '@' (Note that you need plugins to import files that are not JavaScript)
[snowpack] Install failed.

My config:
module.exports = {
  plugins: ["@snowpack/plugin-vue", "@snowpack/plugin-sass"],
  alias: {
    "@": "./src"
  }
}

I just got the similar problems to load png files(errors like Failed to load node_modules/p/a/t/h.png).
Adding configs below to snowpack.config.js will resolve these problems:
installOptions: {
    /* ... */
    rollup: {
      plugins: [
        require('@rollup/plugin-image')(),
      ],
    },
  },

Snowpack will bundle each dependency by using rollup(like webpack), so if your dependencies import other types files like images, less, saas files, you should add corresponding plugins to handle them. Maybe snowpack should put these usage in the document.
As your problem, you need add rollup plugin rollup-plugin-scss.

Thank you.
Em ter, 10 de nov de 2020 10:09, Tian Jian<EMAIL_ADDRESS>escreveu:

I just got the similar problems to load png files(errors like Failed to
load node_modules/p/a/t/h.png).
Adding configs below to snowpack.config.js will resolve these problems:
installOptions: {
/* ... */
rollup: {
plugins: [
require('@rollup/plugin-image')(),
],
},
},
Snowpack will bundle each dependency by using rollup(like webpack), so
if your dependencies import other types files like images, less, saas
files, you should add corresponding plugins to handle them. Maybe snowpack
should put these usage in the document.
As your problem, you need add rollup plugin rollup-plugin-scss.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/snowpackjs/snowpack/issues/1542#issuecomment-724691189,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AME4HQ6TYAJJOJ5JR2NU7GLSPE3QVANCNFSM4TN7W7AA
.

Closing since it sounds like the comment above will fix, but if you still have issues please file a new discussion to continue to debug: https://github.com/snowpackjs/snowpack/discussions/new


WIP admin-api-sdk

Will split out commits to make it easier to review this is just an MVP using node-fetch

Most important thing in terms of review are naming and the api - i.e. all the design bits need to go through a design review.

Closing because this isn't under active development


Py script error

Hi,
well-done for providing this script, it has proved truly useful...till now
i am now having issues with it, could you help?

The same problem with me,please check

same here :(

Seems some book don't have a <style> id = fontfaces </style>

How did you manage to solve the problem?
What needs to be fixed in the code?

How did you manage to solve the problem? What needs to be fixed in the code?
change line 58 into below may help:

	# retrieve fonts
	font_style = page.locator('#fontfaces').inner_html()

	# retrieve fonts
	try:
		font_style = page.locator('#fontfaces').inner_html()
	except:
		font_style = ""


[Bug]: Nextjs 13 deployment fails on ARM servers

When attempting to deploy a Next.js 13 application, the deployment process fails with the following error message:

To reproduce, try to deploy gokulkrishh/expense.fyi

It seems to be specific to ARM servers

working fine for me (yarn)

Thanks for the suggestions. I'm closing this issue for now.
If you would like to help to improve Coolify, please reopen this issue with a PR.


Support installing to system trust store for Arch-based distros

Arch ca-certificates reference: https://www.archlinux.org/news/ca-certificates-update/
Working for me on Manjaro Linux 17.1.11.

I don't think it's been working properly on Arch.
Installing from the AUR seems to really just be the functional equivalent of using go get with the added benefit of it being tracked by the package manager now for updates and what not.
Ultimately, you just end up with the built binary that when run gives the warning about installing to the system store isn't yet support on this linux distro. Kinda feels like it's trolling you, which I found absolutely hilarious. (ﾉ☉ヮ⚆)ﾉ ⌒*:･ﾟ✧
Running the program itself (with -install) after installing from the AUR should start working as expected though with this update.

Thanks for the explanation, and the code!


Update Getting Started Guide and README to show use of ServiceBuilder and direct client creation.

Copied from StackOverflow:
We should update overview.html to remove references to gcloud and to illustrate creating clients through ServiceBuilder and by direct instantiation. We should also update the README to provide information about the relation between ServiceBuilder and the individual clients.

I am trying to make a PHP application using which I can send a .flac file to the google speech service and get text in return.
Following the official guide
This is the authentication code:
require 'vendor/autoload.php';
use Google\Cloud\Core\ServiceBuilder;

// Authenticate using keyfile data
$cloud = new ServiceBuilder([
    'keyFile' => json_decode(file_get_contents('b.json'), true)
]);

Then this is the speech code:
use Google\Cloud\Speech\SpeechClient;
$speech = new SpeechClient([
    'languageCode' => 'en-US'
]);

// Recognize the speech in an audio file.
$results = $speech->recognize(
    fopen(__DIR__ . '/audio_sample.flac', 'r')
);

foreach ($results as $result) {
    echo $result->topAlternative()['transcript'] . "\n";
}

Of course the $cloud variable is never used. Where should it go?
I ran it nonetheless got

Uncaught exception 'Google\Cloud\Core\Exception\ServiceException'
with message '{ "error": { "code": 401, "message": "Request had
invalid authentication credentials. Expected OAuth 2 access token,
login cookie or other valid authentication credential. See
https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED" } }

I just want to make a simple query. Any help would be appreciated.

As of our latest release the overview has been removed from the documentation as it was just creating confusion.