Key inferred from own property cannot be used to index the property

Bug Report

🔎 Search Terms
infer this property key generic
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about "this", "property", "generic"

⏯ Playground Link

Playground link with relevant code
💻 Code

class Parent {
  public config = {
    foo: 'lorem',
  };

  public access<K extends keyof this['config']>(key: K): this['config'][K] {
    return this.config[key];
  }
}

class Child extends Parent {
  public override config = {
    foo: 'lorem',
    bar: 'ipsum',
  };
}

new Parent().access('foo');
// @ts-expect-error
new Parent().access('bar');

new Child().access('foo');
new Child().access('bar');
// @ts-expect-error
new Child().access('baz');

🙁 Actual behavior
Compilation error:
Type 'K' cannot be used to index type '{ foo: string; }'.(2536)

🙂 Expected behavior
I'd expect the above code to compile, since K is defined as a key of {foo: string}
(Edit: simplified example by replacing getters with dumb properties)

Property access on class fields doesn't get deferred type resolution like you're expecting: the type of this.config is plain { foo: string }, not this["config"]. That causes this example to break, but is necessary for other scenarios to work -- otherwise you couldn't write
class Parent {
  public config = {
    foo: 'lorem',
  };
  public mut() {
    this.config.foo = "ergo";
  }

  public access<K extends keyof this['config']>(key: K): this['config'][K] {
    return this.config[key];
  }
}

since there's no guarantee that the derived type doesn't need a more-specific value of foo

That's a shame. It might be nice to be able to clarify intent with something like as const, which would effectively tie the two types together. That would basically make it possible to "opt in" to my expected behaviour (which would opt out of the ability to do your example).
class Parent {
  public config = {
    foo: 'lorem',
  } as const; // added `as const`, to show that this shouldn't change

  public mut() {
    // @ts-expect-error
    this.config.foo = 'ergo';
  }

  public access<K extends keyof this['config']>(key: K): this['config'][K] {
    return this.config[key];
  }
}

Anyway, I realise this is niche. Just thought I'd flag it, since I found it unexpected.

Thanks again for the quick and informative response!


Not working Watch OS 9 Beta on a real Apple watch

We are using mqtt-nio which internally uses this swift-nio framework.
When we are testing on watch OS 9 beta, we couldn't establish the connection to mqtt server.
Its working fine on a watchOS 9 beta simulator but on a real watch its not working.
This is the issue created on Mqtt-Nio  https://github.com/swift-server-community/mqtt-nio/issues/121 for the reference.

Just for some details here. It throwing a connectTimeout error. AsyncHTTPClient is also exhibiting the same issue. In both situations they will be connecting using NIOTransportServices and NIOTSConnectionBootstrap to make the connection.

Can you try connection to https://apple.com using URLSession instead of AsyncHTTPClient to see if this is a general networking error:
import Foundation
let (data, response) = try await URLSession.shared.data(from: URL(string: "https://apple.com/")!)
print(response)
print(String(decoding: data, as: UTF8.self))

If this doesn't work this is probably not an issue with NIO.
Also worthwhile mentioning is that if you want to connection to a local address or over http instead of https you will need to add some configuration to your Info.plist as documented here:
https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity/nsallowslocalnetworking
https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity

Please also note that data connectivity from the watch in this fashion is only available if you are marked as an audio streaming app.

For further debugging it would be very helpful if you could provide a sample project that reproduces the issue.

@dnadoba Thanks for the reply.
I have tried basic networking calls in WatchApp using URLSession. They work fine both in WatchOS Simulator and a real watch.
@Lukasa Thanks for the reply.
I am sharing sample project code mentioned here
in this project, I am creating a MQTT Session using MQTT NIO  framework. This works fine in WatchOS 9 Simulator but not working in WatchOS 9 real Apple Watch.
Same issue mentioned here as well (https://github.com/swift-server-community/mqtt-nio/issues/121)

@Lukasa and @dnadoba @adam-fowler
We are seeing the same behavior in iOS 16 and WatchOS 9 versions in a real apple iPhone and Watch. However, working fine in Simulator.

To be clear, you're seeing this in iOS 16?

It's working in IOS 16.
The issue is in WatchOS 9 only that too on a real apple watch.

Can you confirm that your app has started an audio streaming session? If it has not, NIO-based applications will not function.

We are not using any audio streaming session.
This sample code works fine in WatchOS 8 for both Simulator and real watch app and all iOS Device and simulators.
But this is not working on WatchOS 9 real apple watch but working fine in WatchOS 9 Simulator.
Also, Please share some sample usage of how to start audio streaming session for this NIO?

Sorry to jump in on this thread abruptly, but @Lukasa is correct here.  Low level networking, whether that be a socket or a TCP / UDP connection with NWConnection is not expected to consistently work on watchOS without an audio streaming session.  See more on this here. The reason for this is to preserve the battery and performance of the watchOS device.  And so to preserve this performance a network policy is enforced on the device for low level networking to only to be done in the context of an audio stream session, like with AVAudioSession with policy: .longFormAudio set on the category.  This allows low level networking to pull in meta data or audio data related to the audio stream if needed in this specific context.
Regarding you previous thread, you may see low level networking work here and there on a standalone watchOS app that is not connected to the iOS device, but chances are it will not be consistent.  An example of this is navigating away from the watch app performing network connection and then back to the app a few seconds later.
Having said all of that above, it is recommended that for higher level user space networking that is done on a watchOS app outside the context of an audio streaming session, to use an APIs like URLSession instead.  Specifically URLSessionDataTask.

This works perfectly fine in WatchOS 8,7 versions. But stopped working on WatchOS9. So wanted to understand, are there any API changes happened specific in WatchOS9. Please confirm. Thank you.

This works perfectly fine in WatchOS 8,7 versions. But stopped working on WatchOS9. So wanted to understand, are there any API changes happened specific in WatchOS9. Please confirm. Thank you.

After some internal discussions it looks like this was not the intended behavior in watchOS 7 or 8 and this is now resolved in watchOS 9 thus explaining what you are seeing.  I would encourage you to open a bug report for updated documentation on this so that this info is not just on the Developer Forums but also in our Developer Documentation as well.

Please post your Feedback ID here for your bug report.

As an update to this topic; there was a new Technote that was created with this updated information - TN3135: Low-level networking on watchOS


blog not on root folder breaks links

Quick summary
for historic reasons, my wordpress installation lives in the /blog/ subfolder and is adressable as such. I assume that there are more than just my installation with this kind of setup.
(so instead of www.domain.tld, the url is www.domain.tld/blog)
This breaks the profile id of the blog in Activity Pub, as it defaults to<EMAIL_ADDRESS>Steps to reproduce

start at  www.domain.tld/blog
add activity pub plugin
go to Activity Pub settings
enable activityPub profile for blog
Profile-Id for the blog points to www.domain.tld, which creates a non-working profile link

What you expected to happen
have a profile link that actually works
What actually happened
the profile link returns 404
Impact
Some (< 50%)
Available workarounds?
No and the platform is unusable
Logs or notes
No response

In the FAQ of the readme is a section for blogs in subpaths. This needs some config in the root domain and that's why the plugin can't do it out of the box.

that does the trick, thanks a lot!
do you want me to create a new issue so that there's a hint in the UI? (if one just installs the plugin through the wordpress UI, one doesn't necessarily see the readme. Exhibit a: me :) )


Timer returns measurement "value" which is confusing since it is a "avg"

It will be a breaking change - but should we change it to "avg" ?

I don't like introducing another breaking change right after 6.0.0 has been released. But we could make other configurable for now


live777 0.3.1

Closes #XXXX

Relates to #XXXX

[ ] I have read the Contributing Guide.

Incomplete manifests
1 PR for 1 manifest

Incomplete manifests
1 PR for 1 manifest

what content should i add?

checkver, autoupdate, and architecture.64bit because you are adding x86_64 programs.

Thanks！
------------------ 原始邮件 ------------------
发件人:                                                                                "ScoopInstaller/Extras"                                                                                @.>;
发送时间: 2024年1月13日(星期六) 晚上9:29
@.>;
<EMAIL_ADDRESS>主题: Re: [ScoopInstaller/Extras] live777 0.3.1 (PR #12601)
checkver, autoupdate, and architecture.64bit because you are adding x86_64 programs.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

These programs are published in the same repository, download them in single manifest are allowed, if they are highly bundled.

checkver, autoupdate, and architecture.64bit because you are adding x86_64 programs.
how to write checkver?

checkver, autoupdate, and architecture.64bit because you are adding x86_64 programs.

This means description and chckver didn't pass , or all of the five content didn't pass?

Thank you!


Support include in swift templates

We can support include function for swift templates similar to EJS (#242)

Done in #385


Some questions about experiments in the search phase

Thanks for your excellent work!
Q1: I am confused by the configure file: ./experiments/configs/train/train.yaml
how to understand :
PRE_PROB: (0.05,0.2,0.05,0.5,0.05,0.15)
Where do these numbers come from?
Q2: In  lib/core/train.py file, ‘random_cand’ represents the randomly searched path. What I want to ask is what number is used to represent the SkipConnect?
Related code:
Lib/core/train.py:
random_cand = prioritized_board.get_cand_with_prob(prob)
random_cand.insert(0, [0])
random_cand.append([0])
——————————————————
Lib/models/PrioritizedBoard.py:
def get_cand_with_prob(self, prob=None):
if prob is None:
get_random_cand = [
np.random.choice(
self.choice_num,
item).tolist() for item in self.sta_num]
else:
get_random_cand = [
np.random.choice(
self.choice_num,
item,
prob).tolist() for item in self.sta_num]
return get_random_cand
——————————————————
If a number is used to represent SkipConnect, why is choice_num set to 6?
I'm sorry that I didn't understand these two parts by myself, and I look forward to the author's answer.

Hi,
Q1: In addition to uniform sampling, we provide this kind of probabilistic sampling as a reference to inspire follow-up work. We hope that the high-performance sub-networks can bring some reference to network sampling. For example, there may be certain operations that appear frequently in many high-performance sub-models.
Q2: Our algorithm separates the skip-connect operation from other operations in the implementation process. In the definition of supernet, by adding skip-connect to each layer, the overall network depth changes with demand (for example, the 20-layer network is reduced to 7 layers), so our search space as a whole is skip-connect plus the rest 6 operations(MBconv), so in the get_random_cand step, only the remaining 6 operations will be randomly sampled.
Best,
Hao.

Thanks for your response.
How can I search for several subnets of different depths (different numbers of skip-connect)? The depth of the paths in the prioritizedboard seems to be the same.
This is the information in the log file:
02/08 02:20:03 AM | No.0 (tensor(50.3906, device='cuda:0'), tensor(50.3906, device='cuda:0'),<PHONE_NUMBER>9999994, [[0], [1, 0, 2, 0], [1, 2, 2, 2], [5, 1, 5, 3], [4, 4, 2, 2], [4, 4, 2, 3], [0]])
02/08 02:20:03 AM | No.1 (tensor(47.2656, device='cuda:0'), tensor(47.2656, device='cuda:0'),<PHONE_NUMBER>0000005, [[0], [5, 1, 1, 5], [2, 2, 4, 5], [0, 1, 4, 1], [1, 5, 5, 5], [4, 3, 3, 2], [0]])
02/08 02:20:03 AM | No.2 (tensor(47.2656, device='cuda:0'), tensor(47.2656, device='cuda:0'),<PHONE_NUMBER>999999, [[0], [3, 3, 0, 0], [0, 5, 1, 2], [3, 2, 1, 3], [2, 0, 2, 2], [4, 2, 2, 1], [0]])
02/08 02:20:03 AM | No.3 (tensor(46.8750, device='cuda:0'), tensor(46.8750, device='cuda:0'),<PHONE_NUMBER>9999996, [[0], [3, 0, 1, 0], [2, 5, 0, 2], [3, 0, 0, 4], [2, 5, 2, 0], [4, 3, 0, 1], [0]])


type of interface in Union not able to get key?

Version: 4.6.2
Note: The TypeScript Playground can be used to try older versions of TypeScript.
play ground link
💻 Code
type PersonDtl = Person1 | Person2 | Person3;

interface Person1 {
  name: string;
  age: number;
};

interface Person2 {
  clas: string;
};

interface Person3 {
  roll: string;
};

function getValue(item: PersonDtl){
    let value = item.clas;
    console.log(JSON.stringify(value));
}

🙁 Actual behavior
item.clas -> not able to get value
🙂 Expected behavior
item.clas -> take key from interface type (PersonDtl)

This is working as intended. Your value may be a Person1 or a Person3, in which case there is clas property.

Is there any way to get key clas   from type PersonDtl? with Union concepts?
and What is the best way to declare it?

Not in a type-safe way. But it sounds like you want an intersection type instead of a union type.
Also, these kind of questions are better suited for platforms like StackOverflow. The issue tracker is for bug reports and feature requests.

thankyou for the information.!


Run rbenv vars not rbenv-vars

This change was required for variables to be exported in terminal for me using Ruby 2.2.0 and OS X 10.10.
Not sure if this breaks anything on other versions? Please advise.

rbenv-vars is preferred here to rbenv vars because the internal PATH for rbenv is already set up and by executing rbenv vars directly we avoid the overhead of re-executing the main rbenv executable.


⚠ Fortnite has degraded performance

In 3517bd3, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1561 ms

Resolved: Fortnite performance has improved in 23ab6a7.


DISCUSSION: Why are mocks static in Jest?

It means you need to create unnecessary files to use different mocks for the groups of code that you're testing. And that just gets messy having additional test files that really should be part of one test suite. And when you don't do that, you resolve to sub-optimal workarounds--perhaps not writing unit tests as granularly as you should.
I'm sure there are precise reasons, but this isn't ideal and not expected. I write this now after spending weeks testing a code-base and getting very familiar with Jest, not just after my first usage of Jest. The "ideal Jest" allows you to dynamically create different mocks per test. Is there any hope for this future?
Ultimately, you should be able to do this:
it('test something', () => {
     const mod = jest.genMockFromModule('../myModule') // i know this is not current interface, but if you could do this, dynamically, you wouldn't need to both mock it and require it twice
     expect(mod.methodThatCallsMockedMethod()).toEqual(false)

     mod.oneOfManyMethods = () => true
     expect(mod.methodThatCallsMockedMethod()).toEqual(true)
})

// this ultimately was the main example I was speaking of that you
// should be able to do on a per-test basis:

it('test something else in same file', () => {
     jest.mock('../myModule', () => require('../__mocks__/myModule'))

     const mod = require('../anotherModuleThatUsesMyModule')
     expect(mod.methodThatCallsMockedMethodFromMyModule()).toEqual(true)
})

Without that you're married to one mock per imported module per test file. Jest is lovely, but you're really put in a hard place if you're constantly being forced to question whether you should just make another test file that contains one test associated with a larger test suite so that that one test can do something a big different with mocks. I.e. often you'll have 2 layers to your abstraction in one module (i.e. 2 functions, one that calls the other) and you want to write both unit tests testing the functions individually where one of the 2 functions must be mocked, and other times you want 2 them both in coordination. That's the prime example. So you can't do that nicely currently with Jest.
To give a frame of reference, what you CAN do nicely with jest is what I just described but with modules instead of functions, i.e. where you have 2 modules in separate files where you want to test them together and independently and in one test suite file. What you do is this:
const moduleA = require.requireActual('../moduleA')
const moduleB = require.requireActual('../moduleB')

jest.mock('../moduleB', () => require('../__mocks/moduleB'))

it('test moduleA that under the hood imports moduleB, and therefore uses the mock', () => {
      expect(moduleA.doSomething).toEqual('foo')
})

it('test moduleB directly unmocked since we used requireActual', () => {
      expect(moduleB.doSomethingElse).toEqual('bar')
})

So that works nicely there and is an idiomatic enough solution. But when it comes to operating at the function level, Jest does not quite shine as brightly :(. I don't mean this to be negative, but what are the thoughts on this and what are our future prospects to improve this?

Another related question is why in mock functions using jest.fn(() => /** everything must be defined here **/) must any variables be within the scope of fn? Again, that limits what you can do greatly.
It seems that various static checks are inhibiting a lot of possibilities with Jest that you would expect from a dynamic language like javascript at runtime. It takes a bit of getting used to and feels very different than every other way you're using javascript.

I'm with you on this, I'm looking for another way to create mocks of my objects without creating actual mock objects. It would be nice to be able to define the mocks in the test suite.

I found you can actually change them per test with doMock and resetting the mock cache, etc. it's a bit annoying but it totally works.

Can you define them per-test though? If so - how?
On a sidenote: I'm starting to wonder how maintained Jest actually is...I thought it might be taken care of like React - but I'm starting to get the idea they don't really give a damn

Jest works great. It's primarily one guy. One can you expect.
Lookup doMock

It is?! In that case, I take back what I said - I thought it was like a huge facebook internal project like React....

The dude works full time for Facebook. It is an internal FB project, just not a "huge" one lol. But it is massive. It's rough around the edges in a few places but once you find the workarounds you can make it frictionless. It's really fantastic from my perspective.

It looks nice, but I'm running into quite a few edge cases that I can't seem to find workarounds - for example #4960

do you use https://wallabyjs.com. it's the best thing that ever happened to javascript testing. it has coverage in there (but I assume it's using coverage reports generated by Jest). Either way, it's awesome, and the only real way to do TDD with js, as it re-runs your tests on every keypress, and shows in a web panel which tests pass/fail, and fail on what lines. It also shows in your editor on what lines fails are coming from.
One other key thing is it shows Jest snapshot diffs right there in their web panel. And lets you press a camera icon to accept changes.

I honestly don't. I've never heard of it before. Yeah, I'm using Jest for coverage. I have visual studio code setup to run my tests every time I save a test or a file required by a test.
Jest has a --watchAll option too btw.
How does the coverage work in that - presumably it would still need Jest to collect the coverage data(which is what I think might be going astray)?

I'm starting to wonder how maintained Jest actually is...I thought it might be taken care of like React - but between scant documentation and a distinct absence on the issue tracker I'm starting to get the feeling they don't really give a damn
I thought it was like a huge facebook internal project like React....

Hi! We don't actively work on the open source testing parts of Jest at this time so if you'd like to help improve the project we will absolutely appreciate your contributions. We do have a team that owns the Jest project but this team is also working on Yarn and Metro. We are only 8 people including me and Metro is our biggest focus right now. For comparison, the "big internal React project" is 7 people, including an engineering manager. Facebook has more than 20,000 employees. I hope that helps put things into perspective. Personally, I'm managing the team I talked about above and spend my weekends or mornings on Jest to keep the project moving but that isn't sufficient to write much code. It would be great if you could help out with productive discussions and pull requests to push for the changes that matter to you. I am also curious to understand what is missing in the Jest documentation.  Thank you.

I kind of feel like the stone age peasants in Stargate who are still worshipping the Goa'uld thousands of years after their God upped and buggered off to another planet

Time to step up, stop worshipping the gods, and contribute. Can't rely on the Goa'uld forever to build you nice and shiny pyramids for free.

Another related question is why in mock functions using jest.fn(() => /** everything must be defined here **/) must any variables be within the scope of fn? Again, that limits what you can do greatly.

I think you are talking about jest.mock, not jest.fn. This is because of babel-plugin-jest-hoist which hoists jest.mock calls to the top of the scope so that you'll be able to use ES imports and jest.mock together. When we move this during the transformation step, it would create cycles with any uninitialized variables if that module is required during initialization of the module that requires it. If we didn't do this you would be unable to mock ES modules. There is an escape hatch as the error message describes if you know what you are doing.
For the actual main issue at hand, I have some trouble understanding the discussion and the example in the original post to be honest. That first example you gave me works if you reset the mock and module state. It entirely depends on the internal implementation. If you are using ES exports we are unable to reach into the module and swap out the implementation of an exported binding after the fact. What exactly are you unable to do and how would you like to do it? Jest offers a wide array of functionality to control the mock behavior completely and it should be up to you how to structure it. Have you tried jest.resetModules() which resets the module state and allows you to require fresh modules so you can mock them out? There are also API calls to reset or clear the mock state of specific mocks or all of them. See http://facebook.github.io/jest/docs/en/jest-object.html#jestresetallmocks and others.

Have you read what I posted to the other guy? I wrote him the answer with doMock and resetModules. My issue is a year old. Just close it out brotha. Jest is the bomb! One love.

Hi @cpojer.
My intention was not to insult the people that spend their free time contributing to Jest so I apologise if that's how it came across - at the same time I hope you also understand my position as someone looking for a test framework. If the test framework that that I'm looking at isn't currently being actively worked on(as you said yourself - "We don't actively work on the open source testing parts of Jest at this time") then that is concerning. I was also under the impression that Jest was being maintained by a large team (see also: https://github.com/facebook/jest/issues/2577#issuecomment-348360873 and https://github.com/facebook/jest/issues/2577#issuecomment-348362139) and was just being ignored. I would also add that adopting a defensive stance is unlikely to encourage a "productive discussion".
Usage of a library is a commitment on the part of the library consumer. Perhaps not one that benefits the project outright, but it's an investment of time and effort so it's important to make sure that this time and effort is well invested on a library that is well maintained and looked after. So, if - in a (relatively) new library - I'm running into odd behaviour that I can't find a reason for in the docs(#4960) and there are issues sitting in the issue tracker from the beginning of the year I start to have concerns regarding whether the project is abandoned. Whilst I'm sure there are lots of popular projects on GitHub that have lots of outstanding issues (Mocha being an excellent example of this with almost 300 open issues) - these projects are often fairly well known and established and therefore probably aren't going away any time soon(Jest being comparatively new).
I would be interested in submitting patches in the future, as you suggested - though right now I'm submitting patches to (and implementing tests on) another library(which is ironically what brought me here in the first place).

I am also curious to understand what is missing in the Jest documentation.

I'm glad you brought this up. Perhaps I missed something, but it would be nice to have a section on automatic mocks beside Manual Mocks under guides explaining automatic mocks, why they were disabled by default how they work etc.
Also - I recall fs being mocked out for reading data in one of the examples. However - I'm not seeing anything about writing to and then making assertions on the mocked out fs.
Since I'm not a fan of having static mock objects in my code base - I'd also be interested to know if it's possible to define a mock implementation and what it should return directly in the test case kind of like you can do with PHPUnit. I recall @faceyspacey mentioning that this was possible with doMock() but it might be handy to have a mention of this under "Guides"
Finally - with regards to #2256 I think it might be useful to explain this behaviour here

Thanks for the comments about how to improve our documentation. I encourage you, when you find the time, to send a PR to improve the current documentation to make it easier to understand for Jest's users. Your comments all make sense. For an FS mock, this has been on a list for a long time but again, nobody had enough time to build it.
As far as maintenance of this project concerned, Jest is doing great. We receive a healthy amount of contributions from the open source community and have a number of core contributors who are awesome and keep the Jest project going. However, I encourage you not to base your adoption of open source software on whether other people take care of a project but rather whether you can keep using and maintaining the project if nobody else is left to take care of it. For issues that have not be worked on for multiple years, this means that nobody felt strongly enough to volunteer in their free time to build it. If you want it, please build it and send pull requests to keep the project going.
Finally, the Jest project is actually almost seven years old and was open sourced almost four years ago. It's an integral part of JavaScript testing at Facebook. A number of packages part of Jest's platform are core to metro. This project isn't going away.

Sure, so I think part of the problem here is that I don't quite understand the inner workings of Jest well enough to document it - at least not yet. I wasn't so much suggesting an fs as just an update to the documentation. The docs explain how to read from a mocked file system, but not how to write to one...

However, I encourage you not to base your adoption of open source software on whether other people take care of a project but rather whether you can keep using and maintaining the project if nobody else is left to take care of it. For issues that have not be worked on for multiple years, this means that nobody felt strongly enough to volunteer in their free time to build it. If you want it, please build it and send pull requests to keep the project going.

Again - whilst I agree with this, the current project I'm working on isn't my own project. So, whilst I might be happy to commit to maintaining something - I don't think it's necessarily fair for me to make that commitment on someone else's behalf.

It's an integral part of JavaScript testing at Facebook. A number of packages part of Jest's platform are core to metro

That in itself is interesting. Do you happen to know why Facebook aren't lending your team more devs to help out? If it's a core project, I'd have thought they would.

That's mostly because there is only a finite amount of time available and other things tend to have higher priority, for example right now the main focus of the team I work with is https://github.com/facebook/metro


build: use -mod=vendor to always pickup vendor/

Codecov Report

Merging #397 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #397   +/-   ##
=======================================
  Coverage   85.08%   85.08%
=======================================
  Files         109      109
  Lines        6846     6846
=======================================
  Hits         5825     5825
  Misses        729      729
  Partials      292      292

Continue to review full report at Codecov.

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


Option to disable full-width images

Besides the massive headers (#9), one of the things that often annoys me in Medium posts is the huge, full-width images in the body of the post.
I think scaling them down to reasonable sizes can be achieved by changing the sectionLayout--fullWidth class to have the same definitions as the sectionLayout--insetColumn class, i.e.:
.sectionLayout--fullWidth {
    max-width: 740px;
    margin: 0 auto;
}

It also helps to reduce the huge bottom margin in figure element:
.graf--layoutFillWidth {
    margin-bottom: inherit;
}

Nice, do you have an example post with a full-width image in the body? So we can all confirm the exact issue and any potential solutions.

Sure. This is the one that prompted me to open the issue: https://blog.keep.network/zero-knowledge-proofs-zcash-and-ethereum-f6d89fa7cba8

Oh yeah, that's crazy. We should definitely add the option.

I thought I would try to take this, but the only thing that worked for me in your extension was header moving out of the way (in uptodate chrome & vivaldi).
So I think I'll keep using my simple stylus script to clear all the garbage:
.metabar, .u-fixed, .u-height44 {
  display: none;
}

Anyway, this works for me in medium site to shrink image width to paragraph width and center it.
(does not work in above mentioned keep.network site as it uses different class names)
.graf-after--p {
  width: 700px;
  margin: 0px auto;
}


Add support for Pod Security Admission

Summary
Fixes #7119
This PR introduces Pod Security Admission (PSA) and affect changes in several views.
Occurred changes and/or fixed issues

Created new PSA resource editor and list (/c/_/manager/pod.security.admission) with extended form, accessible from cluster manager side menu
In the RKE2 Cluster editor, added a dropdown for PSA template selection as replacement for PSP if ver ^1.25.0

Technical notes summary

Components

Created ButtonLink component
Added utility to align center rows
Created LabelsPSA component as replacement tab for Namespaces

Areas or cases that should be tested
See issue for the details of each:

PSA CRUD

Areas which could experience regressions

Screenshot/Video

PR is going to be replaced by it's own issue


[feature request] support requests >2.32 via maintained requests-unixsocket fork?

Is your feature request related to a problem? Please describe.
We would like to upgrade requests for https://github.com/advisories/GHSA-9wx4-h78v-vm56
Describe the solution you'd like
requests-unixsocket has been forked to address the previous blocker: https://github.com/msabramo/requests-unixsocket/issues/73#issuecomment-2125848213

previously discussed @ #1182

I'll try and get this updated in the next week or so. We have to make sure that the fork of requests-unixsocket is safe.

Version 2.14.0 has been released containing this fix


Fixed circleci build

when use -o  in curl inside docker, it downloads to docker not to host machine.


Improve the logs by trying to guess the currently read register on DRW read in ARM code

Also color returned values to improve the ability to find the values.

Thanks for the feedback :) Do you think the change in general is okay like this? I feel like it's very hacky. But the structures are just this way. I would love to do this a bit cleaner :/

Ultimately, we could also track CSW and if we have auto increment enabled, we increase TAR on each DRW read/write!

The merit of this does not seem to warrant a rebase. So closing.


Support for react 15?

When building with react 15 I get the following error:
ModuleNotFoundError: Module not found: Error: Cannot resolve module 'react/lib/Object.assign' in C:\Code\......\my_proj\node_modules\react-onclickoutside

Changing line 2 in decorator.js to:
var objectAssign = require('object.assign');

solves the problem.

wrong repository. you're looking for react-onclickoutside

So sorry, I clicked the wrong google link


Add execution cluster to system meta

TL;DR
Store and retrieve system information associated with the execution
Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[ ] Smoke tested
[x] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
https://github.com/lyft/flyte/issues/206
Follow-up issue
NA

Awesome! So what happens in sandbox case, what is the default value for cluster?

Awesome! So what happens in sandbox case, what is the default value for cluster?

Should just be an empty string then


x/crypto/acme: Bad error description if website reject authorization query

Website reject authorization from Lets encrypt with 403 error.
Lets encrypt can't authorize domain and return error.
Library error return description ""acme: authorization error for : " in err.Error() after WaitAuthorization <-- PROBLEM

Ideal description in error I see as:
"acme: authorization error for 'domain': website reject authorization error with 403 status"
fmt.Printf("%#v", err)

&acme.AuthorizationError{URI:"https://acme-staging.api.letsencrypt.org/acme/challenge/XXX/YYY", Identifier:"", Errors:[]error(nil)}

curl https://acme-staging.api.letsencrypt.org/acme/challenge/XXX/YYY
{
  "type": "http-01",
  "status": "invalid",
  "error": {
    "type": "urn:acme:error:unauthorized",
    "detail": "Invalid response from http://ZZZ/.well-known/acme-challenge/HfS3oxj9D7WXST1VKtnDMxeLxTvgn62oLWwYWw-SplQ [XXX]: \"\u003c!DOCTYPE HTML PUBLIC \\\"-//IETF//DTD HTML 2.0//EN\\\"\u003e\\n\u003chtml\u003e\u003chead\u003e\\n\u003ctitle\u003e403 Forbidden\u003c/title\u003e\\n\u003c/head\u003e\u003cbody\u003e\\n\u003ch1\u003eForbidden\u003c/h1\u003e\\n\u003cp\"",
    "status": 403
  },
  "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XXX/YYY",
  "token": "ASD-ASD",
  "validationRecord": [
    {
      "url": "http://XXX/.well-known/acme-challenge/AAA",
      "hostname": "XXX",
      "port": "80",
      "addressesResolved": [
        "YYY"
      ],
      "addressUsed": "ZZZ"
    }
  ]
}

The above JSON is from a single challenge resource. The AuthorizationError is constructed from the whole authorization resource, not a single challenge.
Could you post the failed authorization resource? It should be available somewhere at https://acme-staging.api.letsencrypt.org/acme/authz/xxx.

{
  "identifier": {
    "type": "dns",
    "value": "XXX"
  },
  "status": "invalid",
  "expires": "2019-07-02T11:39:09Z",
  "challenges": [
    {
      "type": "dns-01",
      "status": "invalid",
      "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XXX/XXX",
      "token": "humF-jopUK1o9DmA-w2v1HhrbyIxTv4YmUp1wVc7rZA"
    },
    {
      "type": "tls-alpn-01",
      "status": "invalid",
      "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XXX/XXX",
      "token": "zTTr2H00bDEG4RdIZBWj35MCZhmS7-EDNTASZd-0wWw"
    },
    {
      "type": "http-01",
      "status": "invalid",
      "error": {
        "type": "urn:acme:error:unauthorized",
        "detail": "Invalid response from http://XXX/.well-known/acme-challenge/BNx06A619GgwYep4ZQGSbCcA_Mo0uaPgj1W9asdwh3k [YYY]: \"\u003c!DOCTYPE HTML PUBLIC \\\"-//IETF//DTD HTML 2.0//EN\\\"\u003e\\n\u003chtml\u003e\u003chead\u003e\\n\u003ctitle\u003e403 Forbidden\u003c/title\u003e\\n\u003c/head\u003e\u003cbody\u003e\\n\u003ch1\u003eForbidden\u003c/h1\u003e\\n\u003cp\"",
        "status": 403
      },
      "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XXX/XXX",
      "token": "BNx06A619GgwYep4ZQGSbCcA_Mo0uaPgj1W9asdwh3k",
      "validationRecord": [
        {
          "url": "http://XXX/.well-known/acme-challenge/BNx06A619GgwYep4ZQGSbCcA_Mo0uaPgj1W9asdwh3k",
          "hostname": "XXX",
          "port": "80",
          "addressesResolved": [
            "YYY"
          ],
          "addressUsed": "YYY"
        }
      ]
    }
  ],
  "combinations": [
    [
      0
    ],
    [
      1
    ],
    [
      2
    ]
  ]
}


Copy struct that is a Stringer as string entry in the table

Fix race condition in case using multiple Lua Environments in parallel.
This merge fixes formatting issues in luar.go, and copies Stringer struct as string entry in table.

Commenting on this (a bit late...):

Copying Stringers as a string is not a good idea since interfaces such as Type lose all other methods.

The proxy race issue has been fixed in #21 .


Maps SDK 7.1.2 bump

Part of the Maps SDK 7.1.2 release
https://github.com/mapbox/gl-internal/issues/1075

Could we add the version name to the commit message? just bump doesn't add much context when going through the git history.

✔ fixed


Very simple changelog command

I'd rather show in the changelog only issues already closed:
Quick poll :) :
👍  => for closed ones only
❤  => for all

voted for closed issues only, but adding an option to get them all feels good to me


[native_assets_cli] Clarify meaning of targetAndroidNdkApi in docs

coverage: 98.177%. remained the same when pulling a88d31a41fee3b5ccc6a7c7e7f0e7d2352cc43bc on blaugold:ndk-target-api-docs into 7aaa0259c48df8fef4afc222a3c40569a0e881ef on dart-lang:main.


Fixing nested programlisting in para in listitem

This PR fixes #41 (and includes a test).
If there are things I should change, please let me know!
The spacing in the test (the converted Asciidoc itemized list) is not ideal, but what is actually shown (when asciidoc is processed) matches what would be shown by the docbook.

Merged: https://github.com/asciidoctor/docbookrx/commit/45a9664d66979795b16d58f7bb21bc9559206fef

The spacing in the test (the converted Asciidoc itemized list) is not ideal

As much as possible, I'd like to try to eliminate unnecessary whitespace. AsciiDoc generally skips blank lines, but we want to make the best AsciiDoc we can make. The test suite is a good way to enforce that we stay within those boundaries.


Implement RFC 335

Implements #335
TODO:

[x] Update Consumer/ConsumerWidget
[x] Remove useProvider
[x] Add HookConsumer/HookConsumerWidget
[x] update docs to use new syntax (flutter_riverpod)
[x] update docs to use new syntax (hooks_riverpod)
[ ] update "reading" doc
[ ] implement ref.listen
[ ] implement ref.read (and deprecate context.read)
[ ] support ref.watch(provider.select)

Hello! I don't see anything like "deprecate context.read(provider)" in the checklist of this PR. Does that mean that ref.read(provider) won't be implemented?

Oh I just forgot to add it to the list @ResoDev

Will you also be deprecating context.refresh -> ref.refresh?

Yes
And remove ref.container too

What's about the following?

Avoid calling context.read inside the build method of a Widget.
If you want to optimize rebuilds, extract the value listened in a Provider instead.

What's about the following?

Avoid calling context.read inside the build method of a Widget.
If you want to optimize rebuilds, extract the value listened in a Provider instead.

That is going to stay.

What's about the following?

Avoid calling context.read inside the build method of a Widget.
If you want to optimize rebuilds, extract the value listened in a Provider instead.

That is going to stay.

No. It should be modify if we have ref.watch(provider.select)

I'm not following.
Why would select invalidate this warning?

Avoid calling context.read inside the build method of a Widget.

it's fine.
but

If you want to optimize rebuilds, extract the value listened in a Provider instead.

we can do with ref.watch(provider.select) without extract to new provider

Oh you are correct. My bad

#530 should fix CI for this branch

Let's merge this, make a dev release, and do the remaining tasks in a separate PR


Transformer model: _vjpCausallyMasked does not take the enable flag into account

The enable flag in function _vjpCausallyMasked is not used when calling causallyMasked.
Since the flag defaults to false on the latter function, masking is never executed.
https://github.com/tensorflow/swift-models/blob/41c4a7a782debc8361d1ba7c2de176c9c028b75e/Transformer/Model.swift#L102-L106
Solution:
func _vjpCausallyMasked(_ dotProducts: Tensor<Float>, enable: Bool)
    -> (Tensor<Float>, (Tensor<Float>) -> Tensor<Float>) {
    return (causallyMasked(dotProducts, enable:enable), identity)
}

Thanks for the bug report! Feel free to send a quick pull request if you like.


Add Knockback component(s)

Similar to DealsDamage and TakesDamage.
Knockback and KnockbackAffected.

For now, we just configure the entity configs to have knockback behavior.
Knockback components may be nice for a knockback state in the future, but has low priority for now.
Could also help with #41


Cleanup Sync.kt to provide only WorkManager based sync apis.

Describe the Issue
Presently there are a lot of overlapping ways/apis in the Sync.kt available for the developer application to sync data with the remote server.
Expected changes:

It should have a simple interface with two api : One for immediate Onetime sync and other for periodic sync.
The developer app should be able to listen-in to the state of ongoing sync via Flow.

Would you like to work on the issue?

@jingtang10 do you think fixing this issue would impact #1469?


Flutter on linux ignores the DART_VM_OPTIONS environment variable, meaning it is impossible to use Flutter on linux behind a corporate proxy

Steps to Reproduce

Install Flutter on linux in an environment where there is a corporate proxy that encrypts all traffic with a self signed certificate.
Run flutter doctor, even this can be an ordeal since flutter does not respect DART_VM_OPTIONS
run `export DART_VM_OPTIONS="--root-certs-file=/path/to/ca.pem" with the path being the path to your own self signed certificate for the corporate proxy
Create a sample flutter project
Attempt to build it using flutter build web
Observe that it fails and in verbose mode. It says runs  /prod/eqtech/web/flutter/bin/cache/dart-sdk/bin/dart __deprecated_pub --verbose get --no-precompile which clearly does not contain the --root-certs-file=/path/to/ca.pem environment variable.
Observe that running dart --root-certs-file=/path/to/ca.pem pub get does work meaning that Flutter correctly passing the environment variable would be sufficient to get it working.

Sadly even if you pub get using dart and download all the dependencies, running flutter build causes it to use pub again and then it fails, meaning it is impossible to build using Flutter on linux behind a corporate proxy.
I'd consider this a very high priority issue, since it means it's impossible for any companies with linux machines used by developers or as build servers who also have a proxy to use Flutter whatsoever.
Logs

Logs

> flutter build web --verbose
[  +76 ms] executing: uname -m
[  +34 ms] Exit code 0 from: uname -m
[        ] x86_64
[   +6 ms] executing: [/prod/eqtech/web/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +9 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] eb6d86ee27deecba4a83536aa20f366a6044895c
[        ] executing: [/prod/eqtech/web/flutter/] git tag --points-at eb6d86ee27deecba4a83536aa20f366a6044895c
[  +20 ms] Exit code 0 from: git tag --points-at eb6d86ee27deecba4a83536aa20f366a6044895c
[        ] 3.3.4
[  +64 ms] executing: [/prod/eqtech/web/flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[   +7 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] origin/stable
[        ] executing: [/prod/eqtech/web/flutter/] git ls-remote --get-url origin
[   +8 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +40 ms] Unable to locate an Android SDK.
[   +5 ms] executing: [/prod/eqtech/web/flutter/] git rev-parse --abbrev-ref HEAD
[   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +67 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +97 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +62 ms] Running "flutter pub get" in clientportalui...
[   +4 ms] Using /prod/eqtech/web/flutter/.pub-cache for the pub cache.
[        ] executing: [/scratch/eqtech/eqtech/pkgs/clientportalui/] /prod/eqtech/web/flutter/bin/cache/dart-sdk/bin/dart __deprecated_pub --verbose get --no-precompile
[ +102 ms] FINE: Pub 2.18.2
[  +71 ms] MSG : Resolving dependencies...
[  +95 ms] SLVR: fact: clientportalui is 0.1.0-dev
[   +9 ms] SLVR: derived: clientportalui
[  +31 ms] SLVR: fact: clientportalui depends on auto_route ^5.0.1
[        ] SLVR: fact: clientportalui depends on bloc ^8.0.3
[        ] SLVR: fact: clientportalui depends on clock ^1.1.0
[        ] SLVR: fact: clientportalui depends on device_info_plus ^4.1.2
[   +1 ms] SLVR: fact: clientportalui depends on flutter from sdk
[        ] SLVR: fact: clientportalui depends on flutter_bloc ^8.0.1
[        ] SLVR: fact: clientportalui depends on flutter_secure_storage ^6.0.0
[        ] SLVR: fact: clientportalui depends on freezed_annotation ^2.0.3
[        ] SLVR: fact: clientportalui depends on get_it ^7.2.0
[        ] SLVR: fact: clientportalui depends on hive ^2.2.3
[        ] SLVR: fact: clientportalui depends on hive_flutter ^1.1.0
[        ] SLVR: fact: clientportalui depends on http ^0.13.4
[        ] SLVR: fact: clientportalui depends on http_status_code ^0.0.2
[        ] SLVR: fact: clientportalui depends on hydrated_bloc ^9.0.0-dev
[        ] SLVR: fact: clientportalui depends on injectable ^1.5.3
[        ] SLVR: fact: clientportalui depends on intl ^0.17.0
[        ] SLVR: fact: clientportalui depends on json_annotation ^4.6.0
[        ] SLVR: fact: clientportalui depends on path_provider ^2.0.9
[        ] SLVR: fact: clientportalui depends on provider ^6.0.2
[        ] SLVR: fact: clientportalui depends on syncfusion_flutter_charts ^20.1.61
[        ] SLVR: fact: clientportalui depends on syncfusion_flutter_datagrid ^20.3.47
[        ] SLVR: fact: clientportalui depends on uuid ^3.0.6
[        ] SLVR: fact: clientportalui depends on async ^2.9.0
[        ] SLVR: fact: clientportalui depends on auto_route_generator ^5.0.2
[        ] SLVR: fact: clientportalui depends on bloc_test ^9.0.3
[        ] SLVR: fact: clientportalui depends on build_runner ^2.1.10
[        ] SLVR: fact: clientportalui depends on fake_async ^1.3.0
[        ] SLVR: fact: clientportalui depends on flutter_gen_runner ^5.0.1
[        ] SLVR: fact: clientportalui depends on flutter_test from sdk
[        ] SLVR: fact: clientportalui depends on freezed ^2.0.3+1
[        ] SLVR: fact: clientportalui depends on hive_generator ^1.1.3
[        ] SLVR: fact: clientportalui depends on icons_launcher ^2.0.2
[        ] SLVR: fact: clientportalui depends on injectable_generator ^1.5.2
[        ] SLVR: fact: clientportalui depends on integration_test from sdk
[        ] SLVR: fact: clientportalui depends on json_serializable ^6.3.1
[        ] SLVR: fact: clientportalui depends on lint ^1.8.2
[        ] SLVR: fact: clientportalui depends on mockito ^5.3.0
[        ] SLVR: fact: clientportalui depends on test ^1.19.5
[        ] SLVR:   selecting clientportalui
[        ] SLVR:   derived: test ^1.19.5
[        ] SLVR:   derived: mockito ^5.3.0
[        ] SLVR:   derived: lint ^1.8.2
[        ] SLVR:   derived: json_serializable ^6.3.1
[        ] SLVR:   derived: integration_test from sdk
[        ] SLVR:   derived: injectable_generator ^1.5.2
[        ] SLVR:   derived: icons_launcher ^2.0.2
[        ] SLVR:   derived: hive_generator ^1.1.3
[        ] SLVR:   derived: freezed ^2.0.3+1
[        ] SLVR:   derived: flutter_test from sdk
[        ] SLVR:   derived: flutter_gen_runner ^5.0.1
[        ] SLVR:   derived: fake_async ^1.3.0
[        ] SLVR:   derived: build_runner ^2.1.10
[        ] SLVR:   derived: bloc_test ^9.0.3
[        ] SLVR:   derived: auto_route_generator ^5.0.2
[        ] SLVR:   derived: async ^2.9.0
[        ] SLVR:   derived: uuid ^3.0.6
[        ] SLVR:   derived: syncfusion_flutter_datagrid ^20.3.47
[        ] SLVR:   derived: syncfusion_flutter_charts ^20.1.61
[        ] SLVR:   derived: provider ^6.0.2
[        ] SLVR:   derived: path_provider ^2.0.9
[        ] SLVR:   derived: json_annotation ^4.6.0
[        ] SLVR:   derived: intl ^0.17.0
[        ] SLVR:   derived: injectable ^1.5.3
[        ] SLVR:   derived: hydrated_bloc ^9.0.0-dev
[        ] SLVR:   derived: http_status_code ^0.0.2
[        ] SLVR:   derived: http ^0.13.4
[        ] SLVR:   derived: hive_flutter ^1.1.0
[        ] SLVR:   derived: hive ^2.2.3
[        ] SLVR:   derived: get_it ^7.2.0
[        ] SLVR:   derived: freezed_annotation ^2.0.3
[        ] SLVR:   derived: flutter_secure_storage ^6.0.0
[        ] SLVR:   derived: flutter_bloc ^8.0.1
[        ] SLVR:   derived: flutter from sdk
[        ] SLVR:   derived: device_info_plus ^4.1.2
[        ] SLVR:   derived: clock ^1.1.0
[        ] SLVR:   derived: bloc ^8.0.3
[        ] SLVR:   derived: auto_route ^5.0.1
[  +23 ms] SLVR:   fact: test 1.21.4 depends on analyzer >=2.0.0 <5.0.0
[        ] SLVR:   fact: test 1.21.4 depends on async ^2.5.0
[        ] SLVR:   fact: test 1.21.4 depends on boolean_selector ^2.1.0
[        ] SLVR:   fact: test 1.21.4 depends on collection ^1.15.0
[        ] SLVR:   fact: test 1.21.4 depends on coverage ^1.0.1
[        ] SLVR:   fact: test 1.21.4 depends on http_multi_server ^3.0.0
[        ] SLVR:   fact: test 1.21.4 depends on io ^1.0.0
[        ] SLVR:   fact: test 1.21.4 depends on js ^0.6.3
[        ] SLVR:   fact: test 1.21.4 depends on node_preamble ^2.0.0
[        ] SLVR:   fact: test 1.21.4 depends on package_config ^2.0.0
[        ] SLVR:   fact: test 1.21.4 depends on path ^1.8.0
[        ] SLVR:   fact: test 1.21.4 depends on pool ^1.5.0
[        ] SLVR:   fact: test 1.21.4 depends on shelf ^1.0.0
[        ] SLVR:   fact: test 1.21.4 depends on shelf_packages_handler ^3.0.0
[        ] SLVR:   fact: test 1.21.4 depends on shelf_static ^1.0.0
[        ] SLVR:   fact: test 1.21.4 depends on shelf_web_socket ^1.0.0
[        ] SLVR:   fact: test 1.21.4 depends on source_span ^1.8.0
[        ] SLVR:   fact: test 1.21.4 depends on stack_trace ^1.10.0
[        ] SLVR:   fact: test 1.21.4 depends on stream_channel ^2.1.0
[        ] SLVR:   fact: test 1.21.4 depends on typed_data ^1.3.0
[        ] SLVR:   fact: test 1.21.4 depends on web_socket_channel ^2.0.0
[        ] SLVR:   fact: test 1.21.4 depends on webkit_inspection_protocol ^1.0.0
[        ] SLVR:   fact: test 1.21.4 depends on yaml ^3.0.0
[        ] SLVR:   fact: test 1.21.4 depends on test_api 0.4.12
[        ] SLVR:   fact: test 1.21.4 depends on test_core 0.4.16
[        ] SLVR:     selecting test 1.21.4
[        ] SLVR:     derived: test_core 0.4.16
[        ] SLVR:     derived: test_api 0.4.12
[        ] SLVR:     derived: yaml ^3.0.0
[        ] SLVR:     derived: webkit_inspection_protocol ^1.0.0
[        ] SLVR:     derived: web_socket_channel ^2.0.0
[        ] SLVR:     derived: typed_data ^1.3.0
[        ] SLVR:     derived: stream_channel ^2.1.0
[        ] SLVR:     derived: stack_trace ^1.10.0
[        ] SLVR:     derived: source_span ^1.8.0
[        ] SLVR:     derived: shelf_web_socket ^1.0.0
[        ] SLVR:     derived: shelf_static ^1.0.0
[        ] SLVR:     derived: shelf_packages_handler ^3.0.0
[        ] SLVR:     derived: shelf ^1.0.0
[        ] SLVR:     derived: pool ^1.5.0
[        ] SLVR:     derived: path ^1.8.0
[        ] SLVR:     derived: package_config ^2.0.0
[        ] SLVR:     derived: node_preamble ^2.0.0
[        ] SLVR:     derived: js ^0.6.3
[        ] SLVR:     derived: io ^1.0.0
[        ] SLVR:     derived: http_multi_server ^3.0.0
[        ] SLVR:     derived: coverage ^1.0.1
[        ] SLVR:     derived: collection ^1.15.0
[        ] SLVR:     derived: boolean_selector ^2.1.0
[        ] SLVR:     derived: analyzer >=2.0.0 <5.0.0
[  +14 ms] IO  : Get versions from https://pub.dartlang.org/api/packages/mockito.
[  +16 ms] IO  : HTTP GET https://pub.dartlang.org/api/packages/mockito
[        ]     | Accept: application/vnd.pub.v2+json
[        ]     | X-Pub-OS: linux
[        ]     | X-Pub-Command: get
[        ]     | X-Pub-Session-ID: 42E61CEE-0A5D-4439-B6D9-689BF9445D47
[        ]     | X-Pub-Environment: flutter_cli:verify:web
[        ]     | X-Pub-Reason: dev
[        ]     | user-agent: Dart pub 2.18.2
[ +124 ms] IO  : HTTP error:
[        ]     | HandshakeException: Handshake error in client (OS Error:
[        ]     |  CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate chain(handshake.cc:393))
[        ]     |
[        ]     | dart:_http                                                     _HttpClient.openUrl
[        ]     | package:http/src/io_client.dart 57:38                          IOClient.send
[        ]     | package:pub/src/http.dart 68:43                                _PubHttpClient.send
[        ]     | package:http/retry.dart 111:33                                 RetryClient.send
[        ]     | package:pub/src/http.dart 175:39                               _ThrowingClient.send
[        ]     | package:pub/src/http.dart 379:31                               _ThrottleClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/http.dart 375:20                               _ThrottleClient.send
[        ]     | package:pub/src/authentication/client.dart 52:37               _AuthenticatedClient.send
[        ]     | package:http/src/base_client.dart 93:38                        BaseClient._sendUnstreamed
[        ]     | package:http/src/base_client.dart 27:7                         BaseClient.get
[        ]     | package:http/src/base_client.dart 51:28                        BaseClient.read
[        ]     | package:pub/src/source/hosted.dart 358:28                      HostedSource._fetchVersionsNoPrefetching.<fn>
[        ]     | package:pub/src/authentication/client.dart 133:20              withAuthenticatedClient
[        ]     | package:pub/src/source/hosted.dart 355:24                      HostedSource._fetchVersionsNoPrefetching
[        ]     | package:pub/src/source/hosted.dart 417:26                      HostedSource._fetchVersions
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/source/hosted.dart 415:11                      HostedSource._fetchVersions
[        ]     | dart:async                                                     _CustomZone.runUnary
[        ]     | package:pub/src/rate_limited_scheduler.dart 85:27              RateLimitedScheduler._processNextTask.runJob
[        ]     | package:pub/src/rate_limited_scheduler.dart 88:24              RateLimitedScheduler._processNextTask
[        ]     | package:pool/pool.dart 127:28                                  Pool.withResource
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pool/pool.dart 125:20                                  Pool.withResource
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:37             RateLimitedScheduler.schedule.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     scheduleMicrotask
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:7              RateLimitedScheduler.schedule
[        ]     | package:pub/src/source/hosted.dart 654:39                      HostedSource.describeUncached
[        ]     | package:pub/src/source/cached.dart 35:18                       CachedSource.doDescribe
[        ]     | package:pub/src/system_cache.dart 157:58                       SystemCache.describe
[        ]     | package:pub/src/solver/package_lister.dart 192:47              PackageLister.incompatibilitiesFor.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/http.dart 293:10                               withDependencyType
[        ]     | package:pub/src/solver/package_lister.dart 191:23              PackageLister.incompatibilitiesFor
[        ]     | package:pub/src/solver/version_solver.dart 371:42              VersionSolver._choosePackageVersion
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 335:19              VersionSolver._choosePackageVersion
[        ]     | package:pub/src/solver/version_solver.dart 97:24               VersionSolver.solve.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 97:18               VersionSolver.solve.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/source/hosted.dart 954:20                      HostedSource.withPrefetching.<fn>
[        ]     | package:pub/src/rate_limited_scheduler.dart 110:28             RateLimitedScheduler.withPrescheduling
[        ]     | package:pub/src/source/hosted.dart 953:29                      HostedSource.withPrefetching
[        ]     | package:pub/src/solver/version_solver.dart 93:40               VersionSolver.solve
[        ]     | package:pub/src/solver.dart 44:5                               resolveVersions
[        ]     | package:pub/src/entrypoint.dart 290:16                         Entrypoint.acquireDependencies.<fn>
[        ]     | package:pub/src/log.dart 428:18                                progress
[        ]     | package:pub/src/entrypoint.dart 288:26                         Entrypoint.acquireDependencies
[        ]     | package:pub/src/command/get.dart 55:22                         GetCommand.runProtected
[        ]     | package:pub/src/command.dart 189:45                            PubCommand.run.<fn>
[        ]     | dart:async                                                     new Future.sync
[        ]     | package:pub/src/utils.dart 109:12                              captureErrors.wrappedCallback
[        ]     | package:stack_trace                                            Chain.capture
[        ]     | package:pub/src/utils.dart 122:11                              captureErrors
[        ]     | package:pub/src/command.dart 189:13                            PubCommand.run
[        ]     | package:args/command_runner.dart 209:27                        CommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 176:24                     PubCommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 161:20                     PubCommandRunner.run
[        ]     | package:dartdev/dartdev.dart 45:56                             runDartdev
[        ]     | /b/s/w/ir/cache/builder/sdk/pkg/dartdev/bin/dartdev.dart 11:9  main
[ +940 ms] IO  : Retry #1 for GET https://pub.dartlang.org/api/packages/mockito...
[        ] IO  : HTTP GET https://pub.dartlang.org/api/packages/mockito
[        ]     | Accept: application/vnd.pub.v2+json
[        ]     | X-Pub-OS: linux
[        ]     | X-Pub-Command: get
[        ]     | X-Pub-Session-ID: 42E61CEE-0A5D-4439-B6D9-689BF9445D47
[        ]     | X-Pub-Environment: flutter_cli:verify:web
[        ]     | X-Pub-Reason: dev
[        ]     | user-agent: Dart pub 2.18.2
[  +38 ms] IO  : HTTP error:
[        ]     | HandshakeException: Handshake error in client (OS Error:
[        ]     |  CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate chain(handshake.cc:393))
[        ]     |
[        ]     | dart:_http                                                     _HttpClient.openUrl
[        ]     | package:http/src/io_client.dart 57:38                          IOClient.send
[        ]     | package:pub/src/http.dart 68:43                                _PubHttpClient.send
[        ]     | package:http/retry.dart 111:33                                 RetryClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:http/retry.dart 111:20                                 RetryClient.send
[        ]     | package:pub/src/http.dart 175:39                               _ThrowingClient.send
[        ]     | package:pub/src/http.dart 379:31                               _ThrottleClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/http.dart 375:20                               _ThrottleClient.send
[        ]     | package:pub/src/authentication/client.dart 52:37               _AuthenticatedClient.send
[        ]     | package:http/src/base_client.dart 93:38                        BaseClient._sendUnstreamed
[        ]     | package:http/src/base_client.dart 27:7                         BaseClient.get
[        ]     | package:http/src/base_client.dart 51:28                        BaseClient.read
[        ]     | package:pub/src/source/hosted.dart 358:28                      HostedSource._fetchVersionsNoPrefetching.<fn>
[        ]     | package:pub/src/authentication/client.dart 133:20              withAuthenticatedClient
[        ]     | package:pub/src/source/hosted.dart 355:24                      HostedSource._fetchVersionsNoPrefetching
[        ]     | package:pub/src/source/hosted.dart 417:26                      HostedSource._fetchVersions
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/source/hosted.dart 415:11                      HostedSource._fetchVersions
[        ]     | dart:async                                                     _CustomZone.runUnary
[        ]     | package:pub/src/rate_limited_scheduler.dart 85:27              RateLimitedScheduler._processNextTask.runJob
[        ]     | package:pub/src/rate_limited_scheduler.dart 88:24              RateLimitedScheduler._processNextTask
[        ]     | package:pool/pool.dart 127:28                                  Pool.withResource
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pool/pool.dart 125:20                                  Pool.withResource
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:37             RateLimitedScheduler.schedule.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     scheduleMicrotask
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:7              RateLimitedScheduler.schedule
[        ]     | package:pub/src/source/hosted.dart 654:39                      HostedSource.describeUncached
[        ]     | package:pub/src/source/cached.dart 35:18                       CachedSource.doDescribe
[        ]     | package:pub/src/system_cache.dart 157:58                       SystemCache.describe
[        ]     | package:pub/src/solver/package_lister.dart 192:47              PackageLister.incompatibilitiesFor.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/http.dart 293:10                               withDependencyType
[        ]     | package:pub/src/solver/package_lister.dart 191:23              PackageLister.incompatibilitiesFor
[        ]     | package:pub/src/solver/version_solver.dart 371:42              VersionSolver._choosePackageVersion
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 335:19              VersionSolver._choosePackageVersion
[        ]     | package:pub/src/solver/version_solver.dart 97:24               VersionSolver.solve.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 97:18               VersionSolver.solve.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/source/hosted.dart 954:20                      HostedSource.withPrefetching.<fn>
[        ]     | package:pub/src/rate_limited_scheduler.dart 110:28             RateLimitedScheduler.withPrescheduling
[        ]     | package:pub/src/source/hosted.dart 953:29                      HostedSource.withPrefetching
[        ]     | package:pub/src/solver/version_solver.dart 93:40               VersionSolver.solve
[        ]     | package:pub/src/solver.dart 44:5                               resolveVersions
[        ]     | package:pub/src/entrypoint.dart 290:16                         Entrypoint.acquireDependencies.<fn>
[        ]     | package:pub/src/log.dart 428:18                                progress
[        ]     | package:pub/src/entrypoint.dart 288:26                         Entrypoint.acquireDependencies
[        ]     | package:pub/src/command/get.dart 55:22                         GetCommand.runProtected
[        ]     | package:pub/src/command.dart 189:45                            PubCommand.run.<fn>
[        ]     | dart:async                                                     new Future.sync
[        ]     | package:pub/src/utils.dart 109:12                              captureErrors.wrappedCallback
[        ]     | package:stack_trace                                            Chain.capture
[        ]     | package:pub/src/utils.dart 122:11                              captureErrors
[        ]     | package:pub/src/command.dart 189:13                            PubCommand.run
[        ]     | package:args/command_runner.dart 209:27                        CommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 176:24                     PubCommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 161:20                     PubCommandRunner.run
[        ]     | package:dartdev/dartdev.dart 45:56                             runDartdev
[        ]     | /b/s/w/ir/cache/builder/sdk/pkg/dartdev/bin/dartdev.dart 11:9  main
[+1120 ms] IO  : Retry #2 for GET https://pub.dartlang.org/api/packages/mockito...
[        ] IO  : HTTP GET https://pub.dartlang.org/api/packages/mockito
[        ]     | Accept: application/vnd.pub.v2+json
[        ]     | X-Pub-OS: linux
[        ]     | X-Pub-Command: get
[        ]     | X-Pub-Session-ID: 42E61CEE-0A5D-4439-B6D9-689BF9445D47
[        ]     | X-Pub-Environment: flutter_cli:verify:web
[        ]     | X-Pub-Reason: dev
[        ]     | user-agent: Dart pub 2.18.2
[  +37 ms] IO  : HTTP error:
[        ]     | HandshakeException: Handshake error in client (OS Error:
[        ]     |  CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate chain(handshake.cc:393))
[        ]     |
[        ]     | dart:_http                                                     _HttpClient.openUrl
[        ]     | package:http/src/io_client.dart 57:38                          IOClient.send
[        ]     | package:pub/src/http.dart 68:43                                _PubHttpClient.send
[        ]     | package:http/retry.dart 111:33                                 RetryClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:http/retry.dart 111:20                                 RetryClient.send
[        ]     | package:pub/src/http.dart 175:39                               _ThrowingClient.send
[        ]     | package:pub/src/http.dart 379:31                               _ThrottleClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/http.dart 375:20                               _ThrottleClient.send
[        ]     | package:pub/src/authentication/client.dart 52:37               _AuthenticatedClient.send
[        ]     | package:http/src/base_client.dart 93:38                        BaseClient._sendUnstreamed
[        ]     | package:http/src/base_client.dart 27:7                         BaseClient.get
[        ]     | package:http/src/base_client.dart 51:28                        BaseClient.read
[        ]     | package:pub/src/source/hosted.dart 358:28                      HostedSource._fetchVersionsNoPrefetching.<fn>
[        ]     | package:pub/src/authentication/client.dart 133:20              withAuthenticatedClient
[        ]     | package:pub/src/source/hosted.dart 355:24                      HostedSource._fetchVersionsNoPrefetching
[        ]     | package:pub/src/source/hosted.dart 417:26                      HostedSource._fetchVersions
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/source/hosted.dart 415:11                      HostedSource._fetchVersions
[        ]     | dart:async                                                     _CustomZone.runUnary
[        ]     | package:pub/src/rate_limited_scheduler.dart 85:27              RateLimitedScheduler._processNextTask.runJob
[        ]     | package:pub/src/rate_limited_scheduler.dart 88:24              RateLimitedScheduler._processNextTask
[        ]     | package:pool/pool.dart 127:28                                  Pool.withResource
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pool/pool.dart 125:20                                  Pool.withResource
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:37             RateLimitedScheduler.schedule.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     scheduleMicrotask
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:7              RateLimitedScheduler.schedule
[        ]     | package:pub/src/source/hosted.dart 654:39                      HostedSource.describeUncached
[        ]     | package:pub/src/source/cached.dart 35:18                       CachedSource.doDescribe
[        ]     | package:pub/src/system_cache.dart 157:58                       SystemCache.describe
[        ]     | package:pub/src/solver/package_lister.dart 192:47              PackageLister.incompatibilitiesFor.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/http.dart 293:10                               withDependencyType
[        ]     | package:pub/src/solver/package_lister.dart 191:23              PackageLister.incompatibilitiesFor
[        ]     | package:pub/src/solver/version_solver.dart 371:42              VersionSolver._choosePackageVersion
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 335:19              VersionSolver._choosePackageVersion
[        ]     | package:pub/src/solver/version_solver.dart 97:24               VersionSolver.solve.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 97:18               VersionSolver.solve.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/source/hosted.dart 954:20                      HostedSource.withPrefetching.<fn>
[        ]     | package:pub/src/rate_limited_scheduler.dart 110:28             RateLimitedScheduler.withPrescheduling
[        ]     | package:pub/src/source/hosted.dart 953:29                      HostedSource.withPrefetching
[        ]     | package:pub/src/solver/version_solver.dart 93:40               VersionSolver.solve
[        ]     | package:pub/src/solver.dart 44:5                               resolveVersions
[        ]     | package:pub/src/entrypoint.dart 290:16                         Entrypoint.acquireDependencies.<fn>
[        ]     | package:pub/src/log.dart 428:18                                progress
[        ]     | package:pub/src/entrypoint.dart 288:26                         Entrypoint.acquireDependencies
[        ]     | package:pub/src/command/get.dart 55:22                         GetCommand.runProtected
[        ]     | package:pub/src/command.dart 189:45                            PubCommand.run.<fn>
[        ]     | dart:async                                                     new Future.sync
[        ]     | package:pub/src/utils.dart 109:12                              captureErrors.wrappedCallback
[        ]     | package:stack_trace                                            Chain.capture
[        ]     | package:pub/src/utils.dart 122:11                              captureErrors
[        ]     | package:pub/src/command.dart 189:13                            PubCommand.run
[        ]     | package:args/command_runner.dart 209:27                        CommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 176:24                     PubCommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 161:20                     PubCommandRunner.run
[        ]     | package:dartdev/dartdev.dart 45:56                             runDartdev
[        ]     | /b/s/w/ir/cache/builder/sdk/pkg/dartdev/bin/dartdev.dart 11:9  main
[+1610 ms] IO  : Retry #3 for GET https://pub.dartlang.org/api/packages/mockito...
[        ] IO  : HTTP GET https://pub.dartlang.org/api/packages/mockito
[        ]     | Accept: application/vnd.pub.v2+json
[        ]     | X-Pub-OS: linux
[        ]     | X-Pub-Command: get
[        ]     | X-Pub-Session-ID: 42E61CEE-0A5D-4439-B6D9-689BF9445D47
[        ]     | X-Pub-Environment: flutter_cli:verify:web
[        ]     | X-Pub-Reason: dev
[        ]     | user-agent: Dart pub 2.18.2
[  +35 ms] IO  : HTTP error:
[        ]     | HandshakeException: Handshake error in client (OS Error:
[        ]     |  CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate chain(handshake.cc:393))
[        ]     |
[        ]     | dart:_http                                                     _HttpClient.openUrl
[        ]     | package:http/src/io_client.dart 57:38                          IOClient.send
[        ]     | package:pub/src/http.dart 68:43                                _PubHttpClient.send
[        ]     | package:http/retry.dart 111:33                                 RetryClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:http/retry.dart 111:20                                 RetryClient.send
[        ]     | package:pub/src/http.dart 175:39                               _ThrowingClient.send
[        ]     | package:pub/src/http.dart 379:31                               _ThrottleClient.send
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/http.dart 375:20                               _ThrottleClient.send
[        ]     | package:pub/src/authentication/client.dart 52:37               _AuthenticatedClient.send
[        ]     | package:http/src/base_client.dart 93:38                        BaseClient._sendUnstreamed
[        ]     | package:http/src/base_client.dart 27:7                         BaseClient.get
[        ]     | package:http/src/base_client.dart 51:28                        BaseClient.read
[        ]     | package:pub/src/source/hosted.dart 358:28                      HostedSource._fetchVersionsNoPrefetching.<fn>
[        ]     | package:pub/src/authentication/client.dart 133:20              withAuthenticatedClient
[        ]     | package:pub/src/source/hosted.dart 355:24                      HostedSource._fetchVersionsNoPrefetching
[        ]     | package:pub/src/source/hosted.dart 417:26                      HostedSource._fetchVersions
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/source/hosted.dart 415:11                      HostedSource._fetchVersions
[        ]     | dart:async                                                     _CustomZone.runUnary
[        ]     | package:pub/src/rate_limited_scheduler.dart 85:27              RateLimitedScheduler._processNextTask.runJob
[        ]     | package:pub/src/rate_limited_scheduler.dart 88:24              RateLimitedScheduler._processNextTask
[        ]     | package:pool/pool.dart 127:28                                  Pool.withResource
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pool/pool.dart 125:20                                  Pool.withResource
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:37             RateLimitedScheduler.schedule.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     scheduleMicrotask
[        ]     | package:pub/src/rate_limited_scheduler.dart 134:7              RateLimitedScheduler.schedule
[        ]     | package:pub/src/source/hosted.dart 654:39                      HostedSource.describeUncached
[        ]     | package:pub/src/source/cached.dart 35:18                       CachedSource.doDescribe
[        ]     | package:pub/src/system_cache.dart 157:58                       SystemCache.describe
[        ]     | package:pub/src/solver/package_lister.dart 192:47              PackageLister.incompatibilitiesFor.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/http.dart 293:10                               withDependencyType
[        ]     | package:pub/src/solver/package_lister.dart 191:23              PackageLister.incompatibilitiesFor
[        ]     | package:pub/src/solver/version_solver.dart 371:42              VersionSolver._choosePackageVersion
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 335:19              VersionSolver._choosePackageVersion
[        ]     | package:pub/src/solver/version_solver.dart 97:24               VersionSolver.solve.<fn>
[        ]     | ===== asynchronous gap ===========================
[        ]     | dart:async                                                     _CustomZone.registerUnaryCallback
[        ]     | package:pub/src/solver/version_solver.dart 97:18               VersionSolver.solve.<fn>
[        ]     | dart:async                                                     runZoned
[        ]     | package:pub/src/source/hosted.dart 954:20                      HostedSource.withPrefetching.<fn>
[        ]     | package:pub/src/rate_limited_scheduler.dart 110:28             RateLimitedScheduler.withPrescheduling
[        ]     | package:pub/src/source/hosted.dart 953:29                      HostedSource.withPrefetching
[        ]     | package:pub/src/solver/version_solver.dart 93:40               VersionSolver.solve
[        ]     | package:pub/src/solver.dart 44:5                               resolveVersions
[        ]     | package:pub/src/entrypoint.dart 290:16                         Entrypoint.acquireDependencies.<fn>
[        ]     | package:pub/src/log.dart 428:18                                progress
[        ]     | package:pub/src/entrypoint.dart 288:26                         Entrypoint.acquireDependencies
[        ]     | package:pub/src/command/get.dart 55:22                         GetCommand.runProtected
[        ]     | package:pub/src/command.dart 189:45                            PubCommand.run.<fn>
[        ]     | dart:async                                                     new Future.sync
[        ]     | package:pub/src/utils.dart 109:12                              captureErrors.wrappedCallback
[        ]     | package:stack_trace                                            Chain.capture
[        ]     | package:pub/src/utils.dart 122:11                              captureErrors
[        ]     | package:pub/src/command.dart 189:13                            PubCommand.run
[        ]     | package:args/command_runner.dart 209:27                        CommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 176:24                     PubCommandRunner.runCommand
[        ]     | package:pub/src/command_runner.dart 161:20                     PubCommandRunner.run
[        ]     | package:dartdev/dartdev.dart 45:56                             runDartdev
[        ]     | /b/s/w/ir/cache/builder/sdk/pkg/dartdev/bin/dartdev.dart 11:9  main

[✓] Flutter (Channel stable, 3.3.4, on Red Hat Enterprise Linux 3.10.0-1160.71.1.el7.x86_64, locale en_GB.UTF-8)
    • Flutter version 3.3.4 on channel stable at /prod/eqtech/web/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eb6d86ee27 (13 days ago), 2022-10-04 22:31:45 -0700
    • Engine revision c08d7d5efc
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✗] Linux toolchain - develop for Linux desktop
    ✗ clang++ is required for Linux development.
      It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/
    ✗ CMake is required for Linux development.
      It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/
    ✗ ninja is required for Linux development.
      It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases
    • pkg-config version 0.27.1
    ✗ pkg-config 0.29.0 or later is required.
    ✗ GTK 3.0 development libraries are required for Linux development.
      They are likely available from your distribution (e.g.: apt install libgtk-3-dev)

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-x64 • Red Hat Enterprise Linux 3.10.0-1160.71.1.el7.x86_64

[!] HTTP Host Availability
    ✗ HTTP host "https://cocoapods.org/" is not reachable. Reason: An error occurred while checking the HTTP host: Handshake error in client
    ✗ HTTP host "https://maven.google.com/" is not reachable. Reason: An error occurred while checking the HTTP host: Handshake error in client
    ✗ HTTP host "https://pub.dev/" is not reachable. Reason: An error occurred while checking the HTTP host: Handshake error in client
    ✗ HTTP host "https://cloud.google.com/" is not reachable. Reason: An error occurred while checking the HTTP host: Handshake error in client

@afgriffiths thanks for filing the issue. I see there are some open issues addressing the case you described #47262, #51459 (duplicate of #56607).
Closing this issue as a duplicate, so please follow up on mentioned issues for further updates. You can leave there your comment and react an upvote to the original comment will help to raise the issue. Thank you!

Hi @afgriffiths
I re-open this issue due to one duplicated issue #47262 having been closed. Labeling this issue for further investigation from the team.
May be related/similar: #56607

May be related/similar: #56607

This issue appears to be a duplicate of https://github.com/flutter/flutter/issues/56607 , can we close this issue and track progress on this in the other issue ?

@a-siva: I think so. Closing this issue in favor of https://github.com/flutter/flutter/issues/56607.
@afgriffiths: Please kindly follow up on that issue for updates.


Notebook for collating different steps for post #1

@deep-diver I can work on a notebook that could basically enumerate all the steps we are following to cover the first part:

Create a simple image with KFP that is used to create the template.
Mention that for the first time when the code is committed GitHub Actions will run the entire thing.
Clone this repository and commit a minimal change to the example/my-pipeline/ to trigger a run.

Let me know your thoughts and we can proceed accordingly.

@sayakpaul
Good idea. Let's do that
But first of all, example/my-pipeline/ was named for a experimental purpose, so we might have to change the name.

Sure. Do you want to change the name? I can then start the notebook work.

@deep-diver https://github.com/deep-diver/Model-Training-as-a-CI-CD-System/pull/3


feat(copier): enhance copier.yml

Closes #497
Environmental variables
The following environment variables can be optionally set to save some time and effort:

copier.yml

PYPACKAGE_TEMPLATE_GITHUB_TOKEN
PYPACKAGE_TEMPLATE_GITHUB_USER†
PYPACKAGE_TEMPLATE_EMAIL†
PYPACKAGE_TEMPLATE_NAME†

source/.github/setup-github.bash

PYPACKAGE_TEMPLATE_INSTALLATION_IDS (can be empty)

†: If not specified, gets values using github cli.
https://github.com/cli/cli/issues/6096#issuecomment-2395017717
Requires jinja2-env to get enviromental variables, jinja2-time to get the current year.
New Features

Create venv and activate it, then install packages
Automatically set workflow permissions, branch protection rules and install applications for the repo.
Run pre-commit autoupdate
Avoid running unnecessary commands when copier update
Assume project name from copier command arguments using jinja2-eval
Get copyright year using jinja2-time (which depends on arrow)
Enable Windows test

Many features depend on each other and are difficult to separate PRs.
Todo

[x] update README.md
[x] fix sed command error in MacOS
[ ] test manually
[x] understand why only some CI's are git config'd. (because --global flag was not set)

copier copy --trust --vcs-ref refine-copier "gh:34j/pypackage-template"

@browniebroke Would you please review this if you don't mind? (especially before moving to uv if you are planning to do so)
With this change, most of the steps described in the README will be automated, mainly through the use of the GitHub CLI.


A way to verify that --config KEY=VALUE with a complex TOML key is modifying the config in the desired way

Problem
I'm trying to use the --config argument with accordance to the docs ...reference/config.html#command-line-overrides. The "Example of a complex TOML key"
cargo --config "target.'cfg(all(target_arch = \"arm\", target_os = \"none\"))'.runner = 'my-runner'"

looks like the functionality that I'm after, but when trying to adapt the example to my task, I'm not seeing the desired result.
It would be nice to have a way to sanity check if the right config value was indeed overridden. For example, by outputting the resulting config (with all the defaults and overrides) with a separate command or when -vv flag is set.
I'm very new to Rust, so having difficulties navigating the codebase. I see that the clap crate is used to parse the command line arguments, but I don't see anything TOML related in its docs, so I assume it just collects String values and parsing and merging done somewhere else, can't find where. In the Cargo Contributor Guide/Architecture/Files I see:

TomlManifest contains the contents of the Cargo.toml file. It is translated to a Manifest object for some simplification, and the Manifest is stored in a Package.

Can't find a place where the merging takes place in those files either (but I might be entirely missing it).
Summary
Basically, I'm looking for a place to shove in a dbg!(merged_config) and see the results of my --config KEY=VALUE manipulations. And if this was a standard feature with -vv or a separate flag - it would be great.
Proposed Solution

Print merged config when -vv flag is set or with a separate flag/command.
Improve the documentation with more examples of the "complex TOML syntax".

Thanks for the well-written report!

Can't find a place where the merging takes place in those files either (but I might be entirely missing it).

Cargo configurations (.cargo/config.toml) are different from the manifest files (Cargo.toml). Config values merging lives here. The whole module contains types for configurations and their discovery as well.

Print merged config when -vv flag is set or with a separate flag/command.

IIRC there is an unstable command cargo config exactly for this purpose. To verify the merge, you could run
cargo +nigntly \
  --config "target.'cfg(all(target_arch = \"arm\", target_os = \"none\"))'.runner = 'my-runner'" \
  config get --show-origin

Improve the documentation with more examples of the "complex TOML syntax".

It is not immediately clear what you mean. The KEY=VALUE is effectively TOML syntax (with some escapes). Could you elaborate?

@weihanglo thanks for the reply!

Cargo configurations (.cargo/config.toml) are different from the manifest files (Cargo.toml)

I think this might be the source of my problems. I want to specifically override a value from Cargo.toml in cargo build command, and I thought that's what the --config argument is about. So if I need something that doesn't specifically overlap between the two, I'm out of luck?
Otherwise, the unstable cargo config looks like the tool for the job as it is described in the OP. I'll try it later today and get back to confirm/close the issue.

Could you elaborate?

With ...'cfg(all(...))'.key = 'foo' I can't find cfg() or all() documented at toml.io, so I assume it's something homebrewed by the library(?) that performs .toml processing in cargo.

#6583 seems very much related to what I originally wanted.

#9301 > tracking issue for cargo config get
Tested cargo config get, it doesn't show the default, but does show the --config override:
$ cargo +nightly -Z unstable-options config get build.rustc
error: config value `build.rustc` is not set

$ cargo +nightly -Z unstable-options config get build.rustc --config 'build.rustc="myrustc"'
build.rustc = "myrustc"

I guess this covers the problem as described in the OP.

With ...'cfg(all(...))'.key = 'foo' I can't find cfg() or all() documented at toml.io, so I assume it's something homebrewed by the library(?) that performs .toml processing in cargo.

It's not anything special; the whole key is just a string in TOML. Cargo parses it to give it the ability to specify stuff conditionally, similar to what #[cfg] does in Rust source code. See this link for more: https://doc.rust-lang.org/nightly/cargo/reference/config.html#target


Change left sidebar stream background coloring to something more subtle.

The current scheme for coloring which involves the background color of the streams becoming the color of the stream does not feel like the right approach to me, and is visually heavy. Perhaps take the strategy in the second tab where there is a white/black hash inside of a colored square with rounded edges, or just color the hash?

I agree. I did the background mostly because the stream being a section header had to have some background (so the other items don't show behind them)


get profile identify cache

we cache identify calls started by the gui for an hour
@keybase/react-hackers

👍