New application to showcases.

Leaving my document writer app.
I used geist to handle UI.
https://docs.stylessh.vercel.app/

Hi @stylessh, thanks for sharing!
The showcases in the README are for open-source projects only, if your project is also such, please specify your repository link and we'll add it too.

It is open source!
https://github.com/stylessh/docs


New pixel formats for HDR videos

Checklist

[x] I've read the README
[x] I've searched for existing GitHub issues

Context
MetalPetal already supports a great range of pixel formats including the typical ones being used by iPhone cameras to capture videos (kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange).
With the iPhone 12 series being introduced app users are now able to capture videos in kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange pixel format expecting their videos being captured / played back / exported in HDR.
Problem
Using MetalPetal for processing HDR videos without converting to lower dynamic ranges within the pipeline is not possible as
kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange is not yet supported in MetalPetal.
See the supported CVPixelFormats here: https://github.com/MetalPetal/MetalPetal/blob/b5254c1191cbad91585307ba3025706354675085/Frameworks/MetalPetal/MTICVPixelBufferPromise.m#L77-L112
@YuAo are you planning to add this capability to MetalPetal?
Also what do you think would be the right approach to process video/images in this new format considering the key concepts of MetalPetal?

We're also looking for MetalPetal support of kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange.

You can use MTIImage(ciImage: CIImage(cvImageBuffer: pixelbuffer), isOpaque: true) as a workaround for now.

@dyah10 @gazadge Can you give this a try 07684fcb25d6a914e61e62e9dabeb03a6061451a.
In order to preserve the 10 bit pixel format, I think you should change the workingPixelFormat of your MTIContext to maybe MTLPixelFormatBGR10_XR or MTLPixelFormatRGBA16Float? I do not have any suggestions about processing HDR videos for you currently.

@YuAo thank you for looking into this so fast!
I'll check your changes in https://github.com/MetalPetal/MetalPetal/commit/07684fcb25d6a914e61e62e9dabeb03a6061451a on Monday, and get back to you on how it worked.
Yes, I think MTLPixelFormatBGR10_XR should be enough, I'll let you know where I get with that.

Thank you so much @YuAo. We'll try this!

Hey @YuAo ,
The changes in 07684fc were very useful! Thanks again for that!
I found a couple of things I had to change to make this work:

Using MTLPixelFormatBGR10_XR instead of MTLPixelFormatBGRA8Unorm
Using MTLPixelFormatBGR10_XR_sRGB instead of MTLPixelFormatBGRA8Unorm_sRGB.
Extending the APIs of MTIImageView so the colorSpace and wantsExtendedDynamicRangeContent properties of its CAMetalLayer can be customized (so colorSpace and wantsExtendedDynamicRangeContent can be set on MTIImageView). Similarly as it's done in MTIThreadSafeImageView:
https://github.com/MetalPetal/MetalPetal/blob/27c11f666bd61299f63351572b9f09cff4e0ca4d/Frameworks/MetalPetal/UI/MTIThreadSafeImageView.m#L208-L222

Exposing wantsExtendedDynamicRangeContent might be risky as it's not yet available on iOS (it's available on MacOS and Catalyst), however setting this true was necessary to be able to display the rendered content of MTIImageView properly.
How does this sound to you? I'll be able to create a PR with the details only later, but until that let me know what you think of the proposed changes.

Hi, @gazadge thanks for the feedback!
Can you elaborate on 1 and 2? Is changing the working pixel format of MTIContext enough?
And for

Extending the APIs of MTIImageView so the colorSpace and wantsExtendedDynamicRangeContent properties of its CAMetalLayer can be customized

There's no public API for MTKView to change its wantsExtendedDynamicRangeContent. Are you suggesting that we force cast the MTKView's layer to a CAMetalLayer?
BTW, I think we should also expose wantsExtendedDynamicRangeContent for MTIThreadSafeImageView.

Hello @YuAo, I've had the same issue with camera, but I've also have something different for loading videos recorded on iPhone 12 Pro.
I am getting CVPixelBuffer from AVPlayerItemVideoOutput after loading an iPhone 12 Pro video.

Looks like it is using PixelFormat - 645428784, and I am not able to determine what kind of format it is.
MetalPetal is returning MTLPixelFormatInvalid and I am not able to render video from AVPlayer properly. Any hints?

@psredzinski That looks like an compressed format. I think you should use AVPlayerItemVideoOutput.init(pixelBufferAttributes: [String : Any]?) and specify the pixel buffer's format type.

@YuAo That has solved the issue thanks.
Do you have in mind any release date for a new version of MetalPetal including all the changes? 1.14.0 was released in October. I have my cocoa pods setup like that right now:
pod 'MetalPetal/Swift', :git => 'https://github.com/MetalPetal/MetalPetal.git'

Do you have in mind any release date for a new version of MetalPetal including all the changes? 1.14.0 was released in October. I have my cocoa pods setup like that right now:

@psredzinski After we close this issue.

Hi, @gazadge thanks for the feedback!
Can you elaborate on 1 and 2? Is changing the working pixel format of MTIContext enough?

Hey @YuAo ,
So on 1. and 2.:
I changed the following lines:
https://github.com/MetalPetal/MetalPetal/blob/07684fcb25d6a914e61e62e9dabeb03a6061451a/Frameworks/MetalPetal/MTICVPixelBufferPromise.m#L86-L88
to:
 case kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange:
 case kCVPixelFormatType_420YpCbCr10BiPlanarFullRange:
         return sRGB ? MTLPixelFormatBGR10_XR : MTLPixelFormatBGR10_XR_sRGB;

This was necessary to be able to keep the 10 bit dynamic range.
I think your change set in 07684fc with this correction above would already be a great improvement to support kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange and kCVPixelFormatType_420YpCbCr10BiPlanarFullRange.

And for

Extending the APIs of MTIImageView so the colorSpace and wantsExtendedDynamicRangeContent properties of its CAMetalLayer can be customized

There's no public API for MTKView to change its wantsExtendedDynamicRangeContent. Are you suggesting that we force cast the MTKView's layer to a CAMetalLayer?

Rendering HDR in MTIImageView and MTIThreadSafeImageView will probably stay problematic until wantsExtendedDynamicRangeContent is not available on iOS, so now I think it's just probably better to keep that separated from the original issue. I started a thread on this here to clarify what we can expect - @YuAo @dyah10 @psredzinski feel free to give an upvote if you're also interested in the outcome.
The force casting of MTKView's layer to id<MTICAMetalLayer> while also adding wantsExtendedDynamicRangeContent to MTICAMetalLayer protocol was only a workaround for me to test how wantsExtendedDynamicRangeContent would work on iOS. The result looks really good, but until this is not part of the public APIs we can't really get anywhere with it.

BTW, I think we should also expose wantsExtendedDynamicRangeContent for MTIThreadSafeImageView.

Absolutely! Once we'll be able to use wantsExtendedDynamicRangeContent on iOS too, then we should update both MTIImageView and MTIThreadSafeImageView.
So overall I think next we'll need this one linee change I described to resolve this issue and we might revisit the rendering part once there's proceeding on Apple's side to bring wantsExtendedDynamicRangeContent to iOS. @YuAo how does that sound to you?

Hi @gazadge
For
https://github.com/MetalPetal/MetalPetal/blob/07684fcb25d6a914e61e62e9dabeb03a6061451a/Frameworks/MetalPetal/MTICVPixelBufferPromise.m#L86-L88
this is intentional. The pixel format map here is only for rendering using CoreImage, and CoreImage does not support rendering to MTLPixelFormatBGR10_XR or MTLPixelFormatBGR10_XR_sRGB. So instead MTLPixelFormatBGRA8Unorm  is used here as a fallback.
I think we can close this issue for now and release a new version of MetalPetal.
You are welcome to create a PR when we are able to use wantsExtendedDynamicRangeContent on iOS.

Hi, @YuAo!
wantsExtendedDynamicRangeContent is available only for iOS 16 and it doesn’t work for me. Is it possible to make a fix for HDR videos for all iOS versions without using wantsExtendedDynamicRangeContent flag ?
Thanks!

@romanOnelightapps No. That requires the use of private API.

Any updates on this? I'm trying to support HDR in my SwiftUI app and by default AVPlayer will display in HDR but when I use MetalPetal it's clamped and looks desaturated.


first go at fixing issue 1128

Proposed changes:

Fixes 1128.  For each regex in training set, adds feature to crf entity extrator.
To Do: check whether this adds features to intent classifier and fix if not.

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@tmbo could you please take a look at this first go

Please add your changes to CHANGELOG.rst


Main search bar input delete the full input I typed and I click the autocomplete window

When the autocomplete window should be closed without deleting the full search input the user typed previously. So if I want to refine my search I need to type everything again

@mirandaio can you have a look when you have time? Seems that the corresponding functionality works well on the platform.

work completed


⚠ gorzdrav.org has degraded performance

In 4b036c0, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 1578 ms

Resolved: gorzdrav.org performance has improved in bfb9f64.


Update min Puppet version and supported OSes

:+1:

cherry-picked as 8be001c with Ubuntu/xenial support added, thanks @domcleal!


Add --skip-certificate-verification option to support proxies and GitHub Enterprise Server instances with untrusted certificates

This adds a new --skip-certificate-verification option to the export and import commands, which allows certificate verification to be skipped when connecting to GitHub for the export or import.
This is likely to be useful when connecting through a proxy, or to a GitHub Enterprise Server instance with an untrusted (e.g. self-signed) certificate, and it replaces setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable, which is currently recommended in the readme.
I've also added a helpful warning when a proxy is specified but this argument is not set, warning that you're likely to have connection problems.

@coderabbitai review

@coderabbitai review

@ellipsis-dev review


:seedling:  add csv import test

With reference to #388
Work Done as of now

Created a sample of data to be passed in samples.go
Initialized RichClient.Client
Uploaded CSV using FilePost
Get contents of /importsummaries

Next Work - Compare resources

Nice start, Yash! Added few comments primary on naming. About extending the client.go with file upload, there is a PR #393 updating FileSend, let's see if it is useful also for this purpose once it gets merged (will review then).
Looking forward to update checking of Imports status and created resources to find all things needed that need to be tested there.

Thanks Marek. Ya I went through the PR and seems to me that merging it will cause merge conflicts. Better to wait.
As for update checking I am figuring out a few things and will update them as soon as the it is done. Thank you for the review.

Added comparison logic for applications and dependencies with the expected API output

Part of https://github.com/konveyor/operator/issues/220


TextDocumentContentChangeEvent#rangeLength redundant?

It seems like 'rangeLength' is redundant, as it can be computed from the 'range'. Should be deprecated.

DidChangeTextDocumentParams could maybe reuse TextEdit

Agree, but the reason we sent this is to avoid unnecessary work on a server which has a [offset, length] text model instead of a [[startLine, startColumn], [endLine, endColumn]] model.

Will look if it makes sense to reuse TextEdit

Okay so I get that it might be convenient to include redundant info. However, the fact that its redundant also makes it a little unclear what the expectations are from client/server point of view. In particular, is it okay for a server to only specify range but not rangeLength (since the info is redundant, if server didn't feel like computing it, the server implementor might assume that this okay and the client must deal with that).
However a seemingly equally reasonable assumption might be that a client might assume that server should include both and so it should be free to use either one of the redundant pieces of info and ignore the other... at its convenience, to avoid doing extra computation (i.e. for the same reason this length versus end-position might be more convenient to a server storage model, the same applies on the client side as well).
I.e. we have two possible interpretations depending on who's point of view take here:

Point of view favoring convenience of server implementations:

client: MUST set both range and rangelength even though rangelength is redundant.
server: MAY ignore rangelength or 'end' posisition of the range, whichever is more convenient.

Point of view favoring the convenience of client implementations:

client: MAY optionally set rangelength but may ommit this redundant piece of information if it wishes.
server: MUST be able to handle it when optional rangelength is missing (by computing it from the range, if they need it).
My guess is that the intention here is to use the first interpretation (based on what was said earlier, which implies this is for the convenience of server implementation). Whether I'm guessing it right or not... it would be good to make this very clear in the Spec.
Alternatively, maybe its jiust easier / better avoid this complexity in the Spec and just deprecate/remove the redundant rangeLength. Everything in LSP protocol is already in terms of line/col posititions so this is a bit of a weird deviation from that anyhow. And since a lsp implemetor who uses as 'offset-based' model instead of line/col will already need to keep a table to convert between these coordinates, it doesn't really seem to make a lot of difference if there's two positions to convert instead of one.

I understand this to function something like the emacs change hooks which states

Each function receives three arguments: the beginning and end of the region just changed, and the length
of the text that existed before the change. All three arguments are integers. The buffer that has been
changed is always the current buffer when the function is called.
The length of the old text is the difference between the buffer positions before and after that text as it was
before the change. As for the changed text, its length is simply the difference between the first two
arguments.

So the changes corresponding to adding a line, and then deleting it are
2017-04-22 16:09:29 [ThreadId 11] DEBUG haskell-lsp - ---> {"jsonrpc":"2.0","method":"textDocument/didChange","params":
{"textDocument":{"uri":"file:///home/alanz/tmp/haskell-hie-test-project/src/Foo.hs","version":3}
,"contentChanges":[{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"rangeLength":0,"text":"\nbb = 5"}]}}

2017-04-22 16:09:31 [ThreadId 11] DEBUG haskell-lsp - ---> {"jsonrpc":"2.0","method":"textDocument/didChange","params":
{"textDocument":{"uri":"file:///home/alanz/tmp/haskell-hie-test-project/src/Foo.hs","version":6}
,"contentChanges":[{"range":{"start":{"line":6,"character":0},"end":{"line":7,"character":0}},"rangeLength":7,"text":""}]}}

And it struck me that one of TextDocumentContentChangeEvent and TextEdit is redundant, in that the same mechanism should be used for a WorkspaceEdit change and a text document change.

It only seems redundant, because range is defined to always have the end position. But due to the way edit hooks are in Emacs, it is not possible (or at least very hard) to correctly determine the end position. The line/character numbers can be calculated only for the newly edited state, which is not what is wanted. Only the start position and the number of affected characters can be calculated reliably in Emacs.
(@alanz so emacs/lsp-mode calculation now is incorrect, it makes deletions at the end of a line produce end position = beginning of the next line, which makes it look like deletion of EOL, i.e line join).
So, the properly universal OnChange event should split range argument, i.e. be as follows:
start?: Position;
end?: Position;
rangeLength?: number;
text: string;

Any single one of start/end/rangeLength can be omitted if the other two values are specified, because it can be calculated from them, i.e.

rangeLength = end - start or
end = start + rangeLength or
start = end - rangeLength.

Any two of them could be omitted.

If only start is present, then replacement is assumed to be from start and to the end of the document.
If only end is present, then replacement is assumed to be from the beginning of the document to the end.
If only rangeLength is present for some reason, the whole document is to be replaced, and rangeLength should be equal to the length of the whole document.

Or they all can be omitted if the whole document is to be replaced.

PS. That said, this is probably an overgeneralization. I think it would be general enough to always demand presence of start and either one of end/rangeLength to cover all realistic uses.

I agree with the analysis from @albel727, though it took me a while to fully understand the problem with Emacs Change Hooks. Here are some details that I hope someone else will find useful.
Consider the case of a single-line deletion. Here are the buffer contents at time 1.
1234
6789

And here are the buffer contents at time 2, after line 1 is deleted. (Note that a newline character is at position 5).
6789

From the Emacs documentation on Change Hooks:
Three arguments are passed to each function: the positions of
the beginning and end of the range of changed text,
and the length in chars of the pre-change text replaced by that range.
(For an insertion, the pre-change length is zero;
for a deletion, that length is the number of chars deleted,
and the post-change beginning and end are at the same place.)

So after the line deletion, our after-change-function is invoked with the following arguments:

start = 1
end = 1
length = 5

The desired payload of the TextDocumentContentChangeEvent for this edit looks like this:
{
    'range': {
        'start': {'line': 0, 'character': 0},
        'end': {'line': 1, 'character': 0}
    },
  'rangeLength': 5,
  'text': ''
}

range.start can be calculated given the value of start and the current buffer contents. rangeLength is equal to the value of length. The problem is in calculating range.end; there is no way to reconstruct the pre-edit state of the buffer given the information available.
As proof, instead of
1234
6789

consider the following, alternate, prior state of the buffer:
1
34
6789

Deleting the first 2 lines would produce the same buffer state as before:
6789

And the arguments to our after-change-function would be the same:

start: 1
end: 1
length: 5

But the correct payload for the TextDocumentContentChangeEvent corresponding to this change is:
{
    'range': {
        'start': {'line': 0, 'character': 0},
        'end': {'line': 2, 'character': 0}
    },
  'rangeLength': 5,
  'text': ''
}

(Note the difference in the range.end field - line: 2 instead of line: 1.)
Thus, the best we can do using Emacs Text Hooks is to correctly specify the range.start and rangeLength and populate range.end with some garbage value.
Given a range.start, knowledge of either rangeLength or range.end should be sufficient for the server to update its representation of the document. However, I don't think it's reasonable to expect that each server implementation will ignore range.end unless the specification is amended.

However, I don't think it's reasonable to expect that each server implementation will ignore range.end unless the specification is amended

I concur, this not at all implied by the current wording. Our language servers handling of change events, for example, totally ignores rangeLength. It relies instead solely uses the range (start and end). The spec currently seems to say (in not so many words) that a client should either include both (for a partial document replacement) or neither (for a whole doument replacement). So, if I'm reading that correctly, then it should be fine for a server to use whichever of the 'redundant' bits of info they want to use and ignore the rest.
The emacs situation, gives a strong argument in favor of allowing more flexibility for the client to omit one of the redundant infos if its hard for them to compute it. But that should be made clear in the spec, so server knows how to properly deal with that.

Given the state of emacs, I would like to suggest that we disallow the range end for a delete, as this is not available in emacs, and is redundant for managing the changes.
See also https://github.com/emacs-lsp/lsp-mode/issues/114

I just want to chime that I, as a LSP client writer, think that this is bonkers also

I agree that this is confusing and today I would not add rangeLength again to make this more clear.
If we want to allow range.start & rangeLength as a proper alternative then we need to make this a server capability. I am pretty sure that all servers right now expect range.end to be set properly.

To get out of this I changed it as follows:
/**
 * An event describing a change to a text document. If range and rangeLength are omitted
 * the new text is considered to be the full content of the document.
 */
export type TextDocumentContentChangeEvent = {
	/**
	 * The range of the document that changed.
	 */
	range: Range;

	/**
	 * The optional length of the range that got replaced.
	 *
	 * @deprecated use range instead.
	 */
	rangeLength?: number;

	/**
	 * The new text for the provided range.
	 */
	text: string;
} | {
	/**
	 * The new text of the whole document.
	 */
	text: string;
}

I think that better con ways what we want to do here.


Add new approvers

The following users should be added to the maintainers/approvers groups:
@alolita @anuraaga @wangzlei

This ticket is done for everyone except @wangzlei who's not a member of the otel org.


Fix: do not extract/lint html by default

Fixes #1828
Closes gh-1870

Would doing this work for now? @lahmatiy

Actually it's not fix #1828, since issue is in wrong line position.
But, yeah, we should disable extract by default (make it opt-in). Will try do it later.

Oh ok I guess I'l close this then

Although I'd think it would be better to release a patch since we don't want people getting random linting errors from html files when updating?

Agree


Problem with the similar url that we provide it should be the solar db

http://wwwdev.ebi.ac.uk/Tools/omicsdi/#/dataset/atlas-experiments/E-GEOD-39091

Prblem solve.


中文翻译问题 Chinese Translate Issue

In the "Windows Autopilot 的优势"
The First paragraph mension "IT 专业人员通常会花费大量时间生成和自定义稍后将部署到设备的图像。"
Original text was "Traditionally, IT pros spend a lot of time building and customizing images that will later be deployed to devices. Windows Autopilot introduces a new approach."
So "customizing images" was translated as "自定义... ...图像。"
That is wrong.
The correct way is "自定义... ...镜像。"

文档详细信息
⚠ 请勿编辑此部分。 docs.microsoft.com ➟ GitHub 问题链接必须具有此部分。

ID: 83582e61-22b0-fb99-43c7-65a6694affef
Version Independent ID: 61cc2546-2074-08b2-a6ed-e73da4825bfd
Content: Windows Autopilot 概述
Content Source: windows/deployment/windows-autopilot/windows-autopilot.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@TinaMcN : I presume this issue needs to be handled by manual translators, seeing that the original text does not contain code text which otherwise could have used MarkDown backticks as encapsulation.

@dzvision thank you for reporting this issue.  @illfated you are correct, this seems to be an issue caused by machine translation.   I sent it to be human translated and I hope it will be fixed in a few days.

I am unable to read kanji, but from what I can see, the original text seems to be still unchanged:
Windows Autopilot 的优势
IT 专业人员通常会花费大量时间生成和自定义稍后将部署到设备的图像。 Windows Autopilot 引入了新方法。

Judging by the issue ticket report in comment https://github.com/MicrosoftDocs/windows-itpro-docs/issues/6116#issue-570282976 , the second to last kanji ( 图 ) in the first sentence (directly before "。 Windows Autopilot ") remains unchanged.

@illfated thanks for checking, I see what you mean.  I passed on the localization vendor to fix it.

@dzvision @illfated the issue has now been fixed, please confirm and close.

Confirmed. The character has been corrected as requested in the opening issue ticket comment.

@dzvision - Thank you for submitting feedback.
From our understanding, the issue you raised has been resolved so we will close this issue.
Thank you for your contribution to make the docs better! Much appreciated!


Fix output file naming issue with process_by_z_hour=False

For NWM point loading with process_by_z_hour=False, if stepsize is set to  less than half the number of timesteps in a forecast, files will be overwritten

should be fixed by: https://github.com/RTIInternational/teehr/pull/64


fix:

Resolves: #323
How to Test

Which-key mappings like this should be picked up

require('legendary').setup({
  which_key = {
    mappings = {
      ['<space>f'] = {
        function()
          print('foo')
        end,
        'Print foo',
      },
    },
  },
})

Testing for Regressions
I have tested the following:

[x] Triggering keymaps from legendary.nvim in all modes (normal, insert, visual)
[x] Creating keymaps via legendary.nvim, then triggering via the keymap in all modes (normal, insert, visual)
[x] Triggering commands from legendary.nvim in all modes (normal, insert, visual)
[x] Creating commands via legendary.nvim, then running the command manually from the command line
[x] augroup/autocmds created through legendary.nvim work correctly

@gregorias can you confirm this fixes the issue for you? Seems to for me locally.


Nft loading fix

Changes include:

Addition of OpenSea API keys for Mainnet and Rinkeby
Styling fix added, z-index
Corrected CSS (duplicated code re-nested class of overlay-tn)


session: prepare now prepares on all nodes

Prepare now prepares on all nodes, once per node, as sources suggest:
https://github.com/apache/cassandra/blob/adcff3f630c0d07d1ba33bf23fcb11a6db1b9af1/doc/native_protocol_v4.spec#L738-L740
https://github.com/scylladb/scylladb/blob/4d24097b4b86d484159c011f46b9e43268d342d1/transport/server.cc#L941-L950
Also made the driver fallback from token aware policy to round robin
if both session keyspace and query keyspace are unspecified, this is a temporary fix until #257 is resolved.
Fixes #249

Applied changes suggested by @piodul, also removed leaking goroutines from TLS integration test caused by unclosed session.


[Coverity CID :195816]Null pointer dereferences in /tests/net/dhcpv4/src/main.c

Static code scan issues seen in File: /tests/net/dhcpv4/src/main.c
Category: Null pointer dereferences
Function: prepare_dhcp_offer
Component: Tests
CID: 195816
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

False positive

Closed wrong issue.


Make anchor init and anchor new aliases of each other

The intention of both of the commands is to initialize a new anchor workspace. I think we should make them aliases of each other as init has more options compared to new yet they should be doing the same thing.

The intention of both of the commands is to initialize a new anchor workspace

That's not correct, they are different commands and don't do the same thing.
anchor init initializes a new workspace meanwhile anchor new adds a new program to the existing workspace. anchor new won't work outside of an Anchor workspace.


makelib: introduce --enable-incremental-build, enabling "go install"

This change decreases incremental compilation time by 50% on my machine
for stage0 builds.
stage1 binaries are much smaller so there is no significant improvement
in compilation speed.
Small change in rkt/main.go:
$ time make
  GO           github.com/coreos/rkt/rkt
  ACTOOL       build-rkt/target/bin/stage1-coreos.aci

real    0m13.086s
user    0m11.797s
sys 0m1.323s

Small change in stage1/init/init.go:
$ time make
  GO           github.com/coreos/rkt/stage1/init
  ACTOOL       build-rkt/target/bin/stage1-coreos.aci

real    0m11.615s
user    0m10.047s
sys 0m1.083s

The same with "go build":
Small change in rkt/main.go:
$ time make
  GO           github.com/coreos/rkt/rkt
  ACTOOL       build-rkt/target/bin/stage1-coreos.aci

real    0m21.573s
user    0m32.907s
sys 0m2.177s

Small change in stage1/init/init.go:
$ time make
  GO           github.com/coreos/rkt/stage1/init
  ACTOOL       build-rkt/target/bin/stage1-coreos.aci

real    0m11.365s
user    0m10.777s
sys 0m1.083s

It looks like most of the workers are unhappy about the cleaning step now.

ack, the quickrm tool needs some massaging, since artifacts in gopath/bin and gopath/pkg are out of our control, hence we have to os.RemoveAll() for directories.

we might also have some issue with fedora 23, since go 1.5.3 might not yet support the -pkgdir option for non-cgo builds.
let's see what the CI is saying in the next round.

oh, interesting, the arm64 builders also seem to put the artifacts in a different dir.

nice, only arm64 needs a fix

arm64 places its binaries under $GOPATH/bin/linux_arm64, i.e. /home/travis/gopath/src/github.com/coreos/rkt/build-rkt-1.23.0+git/gopath/bin/linux_arm64/rkt

AMAZING. I appreciate this beyond belief.

yeah, i just need to fix arm64, I think I have some silliness there left.

I gated this behind a ./configure --enable-incremental-build, as cross-compilation was hard (impossible?) to get right and final builds are recommended using go build anyways.
Our build system actually builds also native binaries, even when in a cross compilation scenario, i.e. depsgen is built natively amongst others. This complicates things so I suggest to keep this as least intrusive as possible.

A minor documentation suggestion, but LGTM.


There is no blog anymore

"They also aim to update the service status page and blog" those are now the same. If not please provide links.

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

ID: 52eb9f91-b952-afb6-6d17-d7092f46440d
Version Independent ID: bb9113a5-8b8b-b20b-9c6f-09a57f53ba7c
Content: Azure DevOps - Data Protection
Content Source: docs/organizations/security/data-protection.md
Product: devops
Technology: devops-whitepapers
GitHub Login: @mlearned
Microsoft Alias: mlearned

@ctahok  Thank you for the feedback.
The changes have been made and are pending review.


Add version information to the dash executable

As a user, I want to know what version of a program I have installed.
Describe the solution you'd like
Add a -v, --version option to the command line. Display the version in the help pane of the UI.

Note that despite version 3.6.0 being released, the flag still says 3.5.1:
https://github.com/dlvhdr/gh-dash/blob/0b1a3eaa5291f046b32d9e6a34c4e442c5f683d0/cmd/root.go#L26
Maybe allow to pass this in via a linker flag (-X) such that the source does not have to be updated on every release?

Nice. Didnt know about that. Ill read on these flags

Sorry if that was a bit cryptic, I am talking about e.g. https://www.digitalocean.com/community/tutorials/using-ldflags-to-set-version-information-for-go-applications or https://pkg.go.dev/cmd/link

Thanks, this seems to be fixed now :heart:


Support component graph configs with m:n battery-inverter connections

What's needed?
Currently multiple parts of the SDK expect that each battery is connected to a single inverter.  This needs to be generalized, such that there can be configs like

multiple inverters connected to a single battery
multiple batteries connected to a single inverter
~multiple batteries connected to multiple inverters~

Proposed solution
This needs to be implemented and/or tested in these modules:

[ ] PowerDistributor should support m:n battery-inverter connections
[ ] BatteryPool should support m:n battery-inverter connections
[ ] Formula Generators should support m:n battery-inverter connections

Use cases
No response
Alternatives and workarounds
No response
Additional context
No response

How do we want to deal with multiple inverters connected to one (or multiple) batteries? What inverters should a charge/discharge command affect? @thomas-nicolai-frequenz @tiyash-basu-frequenz

Just for context, when the battery pool is used to set power,  we only sent the battery ids to the power manager/distributor.  And they have to find the corresponding inverter.  Do we just distribute power equally if there are multiple inverters?

Do we just distribute power equally if there are multiple inverters for a single battery?

As a default I'd say yes but we should support multiple strategies in the future as the most efficient way is to run inverters close to their max instead of within lower power ranges. This is when they become less efficient by default. That means the best case would be to enable just one and start enabling more if the power increases beyond a single inverter. However, keep in mind that we might also need to look into failover. Once inverter might fail but the second one still work. Thats something we do not have in a 1:1 setup.
@tiyash-basu-frequenz any thoughts on that?

one inverter to multiple batteries

is a different case.

Does that mean we always assume (or don't want to support other configurations) that multiple inverters connected to one (or more) battery always connect to the same part of the microgrid so that it technically doesn't matter which inverter we use and we only want to use more if a single inverter can't handle all the available power?

the most efficient way is to run inverters close to their max instead of within lower power ranges. This is when they become less efficient by default. That means the best case would be to enable just one and start enabling more if the power increases beyond a single inverter.

That's a very good point. It makes sense to stack inverters, instead of distributing equally.

Once inverter might fail but the second one still work.

Right. The PowerDistributor should be able to exclude inverters that are off or in an error state (IIUC a logic for this already exists for this somewhere in the SDK).

@Marenz When there are multiple batteries connected to an inverter on its DC bus, then it is the inverter that controls how much power gets assigned to each battery. This is not something that the SDK can influence.
In general, we never ask a battery to charge or discharge. We always ask the inverter, and the inverter takes care of pulling/pushing power from/to the battery. The same holds true if there are multiple batteries attached to an inverter.

multiple batteries connected to multiple inverters

This case I haven't see yet. @tiyash-basu-frequenz do you?

multiple batteries connected to multiple inverters

This case I haven't see yet. @tiyash-basu-frequenz do you?

We have never encountered multiple inverters connected the same DC bus in general.

This issue specifically wants n:m support as well though..

multiple batteries connected to multiple inverters

@Marenz When there are multiple batteries connected to an inverter on its DC bus, then it is the inverter that controls how much power gets assigned to each battery. This is not something that the SDK can influence.

Sure, but that was never something I asked or questioned..

In general, we never ask a battery to charge or discharge. We always ask the inverter, and the inverter takes care of pulling/pushing power from/to the battery. The same holds true if there are multiple batteries attached to an inverter.

Again, my question was more aimed at the other side (AC) of the inverters. Do we assume all AC exit points of multiple inverters connected to the same batteries connect to the same section of the microgrid/grid
Batt1; Batt2 -> Inverter1, Inverter2
Inverter1 -> microgrid-part-a
Inverter2 -> microgrid-part-b
is it assumed that part a and b are connected?

I had mentioned m:n combinations based on an earlier conversation,  but we can probably cover later if necessary.

Do we assume all AC exit points of multiple inverters connected to the same batteries connect to the same section of the microgrid/grid

I think so,  we won't connect them in such a way that it will make a difference.  A difference would only be possible if there are two microgrids.  So I think we can always assume that's the case.

Again, my question was more aimed at the other side (AC) of the inverters. Do we assume all AC exit points of multiple inverters connected to the same batteries connect to the same section of the microgrid/grid

Sorry for misreading your question.
But no, we cannot assume that. In theory, two inverters could have the same battery/DC bus, but link to different parents. But maybe we want to limit the use-case now to all inverters connecting to the same node on the AC side.
@thomas-nicolai-frequenz I think this raises a few points about the microgrid graph in general, and if we want to constraint it. Maybe we will have more visibility once we encounter or research about such setups.

A difference would only be possible if there are two microgrids.

If the use case that there are two batteries in a microgrid and each having one inverter and each inverter has a different parent thats already the case as mostly the parent is a meter.

I am not sure the "parent" term is helpful here. Inverters with different parents can still connect to the same part of the grid if they eventually have the a (non-inverter-interrupted) connection to common parts eventually

I am not sure the "parent" term is helpful here. Inverters with different parents can still connect to the same part of the grid if they eventually have the a (non-inverter-interrupted) connection to common parts eventually

Can we define what "part of the microgrid" means?

If the use case that there are two batteries in a microgrid and each having one inverter and each inverter has a different parent thats already the case as mostly the parent is a distinct meter. I'm not really sure can follow your thoughts.

I'm just saying that being connect to different meters won't make a difference,  because they will still have a single virtual AC junction point,  on which Kirchoff's laws would apply,  so choosing one inverter over the other in m inv -> 1 bat setups wouldn't make a difference.  Unless an inverter or meter is broken,  we can just pick any inverter first,  and they would all operate on the single kirchoff laws point.

Let me rephrase the question like this: Do we want to support configurations where it makes a difference which inverter is used when multiple are connected to the same battery(or set of batteries).
This is related because when there are multiple inverters for a battery, I need to know if I can use all of them or not for power requests..

You can always use all inverters that are connected to a battery. I'm not aware of any restrictions beyond fuse limits or performance considerations (stacked-usage as pointed out by @tiyash-basu-frequenz above). At the very end the inverters are all connected to the same microgrid as @shsms pointed out. That means "where" the power gets physically released within the microgrid doesn't matter and in doubt we don't even know it because how the electrician set up the wiring is usually not 1:1 mirror in the component graph. Thats almost impossible to be done and again it also doesn't matter.

One remark: If an inverter connects to a different metering point belowing to a different microgrid we made a mistake in the setup. Hence there is always only ONE microgrid but it can have no, one or multiple grid connections, multiple for redundancy reasons for example.

the other thing I was concerned about is the case of n-batteries -> 1 inverter.  If we receive a request in the power distributor,  I feel like we should accept requests only for all the n batteries together.  Maybe we shouldn't even allow those n batteries to be separated when creating a battery pool instances.
Because otherwise, there will be weird overlaps, and the implementation will get super complicated, because we'll have to remember the power requests made for each of the batteries separately and sum that before sending to the single inverter.
And then we'd have to track the age of older requests for other batteries, etc, because we are storing them.  I feel like this is all complications we should avoid in the sdk.

If we receive a request in the power distributor, I feel like we should accept requests only for all the n batteries together. Maybe we shouldn't even allow those n batteries to be separated when creating a battery pool instances.

If all the n batteries are on the same DC bus, then we won't be in control of individual batteries anymore. Makes sense to ask users to intentionally mention all batteries on a single bus.

Because otherwise, there will be weird overlaps, and the implementation will get super complicated, because we'll have to remember the power requests made for each of the batteries separately and sum that before sending to the single inverter.
And then we'd have to track the age of older requests for other batteries, etc, because we are storing them. I feel like this is all complications we should avoid in the sdk.

Agree. Besides the case of all batteries being on the same DC bus, some inverters may have separate DC buses for individual batteries. Supporting it will require changes on the backend side too. So, not something we should aim for now.

So maybe the battery pool could be sort of best-effort, like you request for batteries 1,2,3, but it could get batteries 1,2,3,4,5 in the pool because batteries 2,4 and batteries 3,5 share an inverted/DC bus?
There could even be a parameter to select if you prefer to increase or decrease capacity in case the request can't be fulfilled exactly?

It seems our graph nx library nx.is_tree() doesn't accept graphs with two inverters connected to the same battery. The example they give themselves is:
    >>> G = nx.Graph()
    >>> G.add_edges_from([(1, 2), (1, 3), (2, 4), (2, 5)])
    >>> nx.is_tree(G)  # n-1 edges
    True
    >>> G.add_edge(3, 4)
    >>> nx.is_tree(G)  # n edges
    False

Well, nx is right, that's not a tree, that's a DAG. We already discussed this somewhere. I guess we need to get rid of the tree check. Not sure if nx has a GAG check, because we definitely don't want to have cycles, right?

https://networkx.org/documentation/stable/reference/algorithms/dag.html

So maybe the battery pool could be sort of best-effort, like you request for batteries 1,2,3, but it could get batteries 1,2,3,4,5 in the pool because batteries 2,4 and batteries 3,5 share an inverted/DC bus?

That would be very confusing if someone has a setup where they want to use one battery for one use and another battery for a different use,  and they create two battery pools,  but if battery pool implicitly converges into the same pool,  that would be very confusing.  If anything is specified, I think we should should use just the specified batteries, and if that's not possible, raise an error instead.

So maybe the battery pool could be sort of best-effort, like you request for batteries 1,2,3, but it could get batteries 1,2,3,4,5 in the pool because batteries 2,4 and batteries 3,5 share an inverted/DC bus?

@llucax I'm not sure this can happen, should happen and/or is even correct. If two batteries share the same inverter they are in fact ONE logical unit and hence just one battery in a BatteryPool. For Example, there is no way you can discharge battery 2 but not 4 if both are connected to the same inverter.

Maybe we shouldn't even allow those n batteries to be separated when creating a battery pool instances.

@sahas-subramanian-frequenz correct!

It is clear that if 2 batteries share the same inverter, then they have to be handled in a group. The issue was more about what to do if battery 1 and 2 share an inverter and the user asks to create a battery pool with batteries 1,3.
Then we can either include 2 too under the hood (so you'll end up with a battery pool with batteries 1,2,3) or to raise an error. I agree it is less confusing to raise an error, but this means the developer will have to know about the topology in a bit more detail than just knowing how many batteries are there, they need to know where inverters are otherwise they will get an error (maybe we can make it easy from the error to be able to re-request the battery pool with more or less batteries, but still that will be guessing and you could end up with 2 battery pools that are effectively the same).
This was my main rationale to suggest an adaptative approach. If we can assume users (and apps) will know the exact topology when creating battery pools, then I agree we don't need to go for that.

If we can assume users (and apps) will know the exact topology when creating battery pools, then I agree we don't need to go for that.

Maybe we can assume that if a user requests for specific battery IDs, they know the topology?
We could also add a util method that returns a list of all the "sibling" batteries to a given input battery ID.

I agree it is less confusing to raise an error, but this means the developer will have to know about the topology in a bit more detail than just knowing how many batteries are there

I suggest to still start with raising an error if thats the simplest solution. The error will force the user to investigate the setup but thats OK. This is anyhow not a use case I think we'll see so often. Hence I would go for the adaptable approach later in time. Just my two cents....

Yeah, sounds reasonable to me. :+1:

we could make the raising error the default and having a c'tor switch or so that makes it adapt as necessary?

I think the suggestions from Tiyash and Luca, of providing additional methods to identify siblings is the safer approach.  But this can be done later.
I think we should always raise,  because otherwise, if people make two battery pools - one with battery one and another with battery two,  they would both be the same pool,  which is an ambiguity we should avoid.  People will use the flag without thinking and will shoot themselves in the foot.

Actually the raised error could have the information about the siblings, so the use could capture it and re-request the the battery pool either including all the siblings, or none of them.


Update node-init.sh

Docker MAJOR Version Checker

Codecov Report

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

@@          Coverage Diff           @@
##           master    #640   +/-   ##
======================================
  Coverage    41.6%   41.6%
======================================
  Files          66      66
  Lines        4399    4399
======================================
  Hits         1830    1830
  Misses       2406    2406
  Partials      163     163

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 59cc72f...942366d. Read the comment docs.

👍


Enable publication of raw extracted XBRL data

This PR adds various improvements to the XBRL extractor to enable the archiving/publication of raw SQLite DB's extracted from XBRL data.
Specifically, it:

Adds the ability to specify a subset of tables for extraction
Makes column names snake_case to generate valid frictionless datapackages
Fixes broken documentation generation

Let me know when this does get merged so I can update my local XBRL DB with the new column names and integrate them into the transform module.

Mrrrrrrge me!


Automated Package Upgrade

:tada: This PR is included in version 7.7.222 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Merge chaos-helm (experiments helm chart) into litmus-helm as a separate chart

This issue tracks placing the chaos-experiment helm chart located at chaos-helm into the litmus-helm repo as part of a project cleanup/optimization process.

Fixed via https://github.com/litmuschaos/litmus-helm/pull/33


package/scripts/postinstall: fix permissions of opt

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Fixes https://github.com/orgs/Homebrew/discussions/5052.

Thanks @ZhongRuoyu!


Add Non-Admin Backup Sync controller

For creation of Non-Admin restore CR, the non-admin user will refer the non-admin backup instance. Most times in disaster recovery scenarios the NS will cease to exist and with it the Non-Admin Backup CRs too. Therefore, it is desirable that once the application NS exists and it does not have the relevant user's non-admin backup CRs, then there should be a mechanism to re-create those in the user NS, so that the non-admin user can view and use them for creation of non-admin restore CR and trigger the restore operation. Ensuring the appropriate sync of Backups would be the primary responsibility of Non-Admin Backup Sync controller.
Another point of note is that, this work would put the infrastructure in place for enabling cross cluster non-admin backup/restore operations in the future.

Only terminal state... completed or failed state crs

Example implementation https://github.com/vmware-tanzu/velero/blob/bc29471ed6e94eda2129a7a070080b4f11b420de/pkg/controller/backup_sync_controller.go
should it also have a user time input for how frequent sync?

Find all Velero Backups in the namespace where the controller resides
Check if those were created by NAC controller (labels)
Check if corresponding NABs are in the namespaces
If there is a namespace without corresponding NAB, create NAB, but with a state that won't reconcile main NAC reconcile loop that creates another Velero Backup

The sync should work on:

any new namespace creation event on the cluster
time based ?

just namespace creation event seems problematic
Example: admin user configures new cluster and then installs OADP. All non admin namespace already exist once NAC is live, then sync will not happen, right?
do we also need design for this?

I think the following then would be ok:

on any namespace creation event
on start of the sync controller (regardless of the namespace creation)

What happens when you have a create event that you don't get before an update occurs? You will end up with only an "update event" in the queue

my current idea is to use NonAdminBSL controller for this
Velero has a separate controller just for this, but it is anti pattern to have multiple controllers watching the same resource
for this, we would have DPA field for sync frequency and status field in NonAdminBSL like lastSyncTime
inside NonAdminBSL reconcile function, check if lastSyncTime is nil (sync on start up) or if it is sync time, and do sync logic; if not requeue with timestamp to do next sync


fix(runtime-core): add missing empty type vnode

Some transforms will generate a vnode with type Empty (e.g., v-if), and this will make renderer throw error.
{
  // error if condition falsy.
  template: `<div v-if='condition'>content</div>`
}

Thanks, the error is actually because I renamed Empty to Comment (to handle more cases) and forgot to change it in some places it was used. Fixed in 9ad7ae4


[Web] Failed to load font MaterialIcons at assets/fonts/MaterialIcons-Regular.otf

Steps to Reproduce
This does NOT occur on beta (flutter 1.23.0-18.1.pre) but it does occur on master (1.24.0-7.0.pre.53).

Activate flutter for web flutter config --enable-web (make sure channel is at least beta)
Run flutter create bug.
Run without SKIA (this works): flutter run -d chrome
Run with SKIA (this does not work): flutter run --dart-define=FLUTTER_WEB_USE_SKIA=true -d chrome

Expected results:
That the application is displayed in Chrome even if I'm using SKIA.
Actual results:
Chrome is blank and I get this exception:
Failed to load font MaterialIcons at assets/fonts/MaterialIcons-Regular.otf
null
Error: Expected a value of type 'Future<_RegisteredFont>', but got one of type '_Future<_RegisteredFont?>'
    at Object.throw_ [as throw] (http://localhost:53390/dart_sdk.js:4193:11)
    at Object.castError (http://localhost:53390/dart_sdk.js:4166:15)
    at Object.cast [as as] (http://localhost:53390/dart_sdk.js:4475:17)
    at Function.as_C [as as] (http://localhost:53390/dart_sdk.js:4122:19)
    at Array.[dartx.add] (http://localhost:53390/dart_sdk.js:14333:11)
    at _engine.SkiaFontCollection.new.registerFonts (http://localhost:53390/dart_sdk.js:130488:39)
    at registerFonts.next (<anonymous>)
    at http://localhost:53390/dart_sdk.js:36140:33
    at _RootZone.runUnary (http://localhost:53390/dart_sdk.js:36008:59)
    at _FutureListener.thenAwait.handleValue (http://localhost:53390/dart_sdk.js:31237:29)
    at handleValueCallback (http://localhost:53390/dart_sdk.js:31752:49)
    at Function._propagateToListeners (http://localhost:53390/dart_sdk.js:31790:17)
    at _Future.new.[_completeWithValue] (http://localhost:53390/dart_sdk.js:31638:23)
    at async._AsyncCallbackEntry.new.callback (http://localhost:53390/dart_sdk.js:31659:35)
    at Object._microtaskLoop (http://localhost:53390/dart_sdk.js:36245:13)
    at _startMicrotaskLoop (http://localhost:53390/dart_sdk.js:36251:13)
    at http://localhost:53390/dart_sdk.js:31999:9

Logs
```
[ +128 ms] executing: [C:\Stuff\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +75 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] ee5c080d7b754177429b8559cbd006e88de8479c
[        ] executing: [C:\Stuff\flutter/] git tag --points-at HEAD
[  +56 ms] Exit code 0 from: git tag --points-at HEAD
[   +1 ms] executing: [C:\Stuff\flutter/] git describe --match *.*.* --first-parent --long --tags
[  +57 ms] Exit code 0 from: git describe --match *.*.* --first-parent --long --tags
[        ] 1.24.0-6.0.pre-53-gee5c080d7b
[   +9 ms] executing: [C:\Stuff\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +44 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/master
[        ] executing: [C:\Stuff\flutter/] git ls-remote --get-url origin
[  +41 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +75 ms] executing: [C:\Stuff\flutter/] git rev-parse --abbrev-ref HEAD
[  +44 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[  +65 ms] Artifact Instance of 'AndroidMavenArtifacts' 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.
[        ] 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.
[  +59 ms] executing: C:\Users\Micke\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +64 ms] Artifact Instance of 'AndroidMavenArtifacts' 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.
[   +2 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.
[  +70 ms] executing: C:\Users\Micke\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +16 ms] Running "flutter pub get" in web_skia_test...
[   +3 ms] Using C:\Stuff\flutter\.pub-cache for the pub cache.
[   +1 ms] executing: [C:\Stuff\git\web_skia_test/] C:\Stuff\flutter\bin\cache\dart-sdk\bin\pub.bat --verbose get --no-precompile
[   +1 ms] List of devices attached
[  +45 ms] List of devices attached
[ +134 ms] FINE: Pub 2.12.0-3.0.dev
[  +56 ms] MSG : Resolving dependencies...
[  +33 ms] SLVR: fact: web_skia_test is 1.0.0+1
[   +6 ms] SLVR: derived: web_skia_test
[  +23 ms] SLVR: fact: web_skia_test depends on flutter any from sdk
[   +1 ms] SLVR: fact: web_skia_test depends on cupertino_icons ^1.0.0
[        ] SLVR: fact: web_skia_test depends on flutter_test any from sdk
[        ] SLVR:   selecting web_skia_test
[        ] SLVR:   derived: flutter_test any from sdk
[        ] SLVR:   derived: cupertino_icons ^1.0.0
[        ] SLVR:   derived: flutter any from sdk
[   +8 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on flutter any from sdk
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on test_api 0.2.19-nullsafety.4
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on path 1.8.0-nullsafety.2
[   +2 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on fake_async 1.2.0-nullsafety.2
[   +1 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on clock 1.1.0-nullsafety.2
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on stack_trace 1.10.0-nullsafety.5
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on vector_math 2.1.0-nullsafety.4
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on async 2.5.0-nullsafety.2
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on boolean_selector 2.1.0-nullsafety.2
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on characters 1.1.0-nullsafety.4
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on charcode 1.2.0-nullsafety.2
[   +1 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on collection 1.15.0-nullsafety.4
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on matcher 0.12.10-nullsafety.2
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on meta 1.3.0-nullsafety.5
[        ] SLVR:   fact: flutter_test 0.0.0 from sdk depends on source_span 1.8.0-nullsafety.3
[   +1 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on stream_channel 2.1.0-nullsafety.2
[   +1 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on string_scanner 1.1.0-nullsafety.2
[   +1 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on term_glyph 1.2.0-nullsafety.2
[   +1 ms] SLVR:   fact: flutter_test 0.0.0 from sdk depends on typed_data 1.3.0-nullsafety.4
[   +1 ms] SLVR:     selecting flutter_test 0.0.0 from sdk
[        ] SLVR:     derived: typed_data 1.3.0-nullsafety.4
[        ] SLVR:     derived: term_glyph 1.2.0-nullsafety.2
[   +1 ms] SLVR:     derived: string_scanner 1.1.0-nullsafety.2
[   +1 ms] SLVR:     derived: stream_channel 2.1.0-nullsafety.2
[   +1 ms] SLVR:     derived: source_span 1.8.0-nullsafety.3
[   +1 ms] SLVR:     derived: meta 1.3.0-nullsafety.5
[   +1 ms] SLVR:     derived: matcher 0.12.10-nullsafety.2
[        ] SLVR:     derived: collection 1.15.0-nullsafety.4
[        ] SLVR:     derived: charcode 1.2.0-nullsafety.2
[        ] SLVR:     derived: characters 1.1.0-nullsafety.4
[        ] SLVR:     derived: boolean_selector 2.1.0-nullsafety.2
[        ] SLVR:     derived: async 2.5.0-nullsafety.2
[   +1 ms] SLVR:     derived: vector_math 2.1.0-nullsafety.4
[   +2 ms] SLVR:     derived: stack_trace 1.10.0-nullsafety.5
[   +1 ms] SLVR:     derived: clock 1.1.0-nullsafety.2
[   +1 ms] SLVR:     derived: fake_async 1.2.0-nullsafety.2
[        ] SLVR:     derived: path 1.8.0-nullsafety.2
[        ] SLVR:     derived: test_api 0.2.19-nullsafety.4
[        ] SLVR:       selecting cupertino_icons 1.0.0
[        ] SLVR:       fact: flutter 0.0.0 from sdk depends on characters 1.1.0-nullsafety.4
[        ] SLVR:       fact: flutter 0.0.0 from sdk depends on collection 1.15.0-nullsafety.4
[        ] SLVR:       fact: flutter 0.0.0 from sdk depends on meta 1.3.0-nullsafety.5
[        ] SLVR:       fact: flutter 0.0.0 from sdk depends on typed_data 1.3.0-nullsafety.4
[        ] SLVR:       fact: flutter 0.0.0 from sdk depends on vector_math 2.1.0-nullsafety.4
[        ] SLVR:       fact: flutter 0.0.0 from sdk depends on sky_engine any from sdk
[        ] SLVR:         selecting flutter 0.0.0 from sdk
[        ] SLVR:         derived: sky_engine any from sdk
[        ] SLVR:         fact: typed_data 1.3.0-nullsafety.4 depends on collection >=1.15.0-nullsafety <1.15.0
[        ] SLVR:           selecting typed_data 1.3.0-nullsafety.4
[   +2 ms] SLVR:             selecting term_glyph 1.2.0-nullsafety.2
[   +1 ms] SLVR:             fact: string_scanner 1.1.0-nullsafety.2 depends on charcode >=1.2.0-nullsafety <1.2.0
[        ] SLVR:             fact: string_scanner 1.1.0-nullsafety.2 depends on source_span >=1.8.0-nullsafety <1.8.0
[        ] SLVR:               selecting string_scanner 1.1.0-nullsafety.2
[        ] SLVR:               fact: stream_channel 2.1.0-nullsafety.2 depends on async >=2.5.0-nullsafety <2.5.0
[   +1 ms] SLVR:                 selecting stream_channel 2.1.0-nullsafety.2
[        ] SLVR:                 fact: source_span 1.8.0-nullsafety.3 depends on charcode >=1.2.0-nullsafety <1.2.0
[        ] SLVR:                 fact: source_span 1.8.0-nullsafety.3 depends on collection >=1.15.0-nullsafety <1.15.0
[        ] SLVR:                 fact: source_span 1.8.0-nullsafety.3 depends on path >=1.8.0-nullsafety <1.8.0
[        ] SLVR:                 fact: source_span 1.8.0-nullsafety.3 depends on term_glyph >=1.2.0-nullsafety <1.2.0
[        ] SLVR:                   selecting source_span 1.8.0-nullsafety.3
[   +1 ms] SLVR:                     selecting meta 1.3.0-nullsafety.5
[        ] SLVR:                     fact: matcher 0.12.10-nullsafety.2 depends on stack_trace >=1.10.0-nullsafety <1.10.0
[        ] SLVR:                       selecting matcher 0.12.10-nullsafety.2
[        ] SLVR:                         selecting collection 1.15.0-nullsafety.4
[   +1 ms] SLVR:                           selecting charcode 1.2.0-nullsafety.2
[   +2 ms] SLVR:                             selecting characters 1.1.0-nullsafety.4
[   +1 ms] SLVR:                             fact: boolean_selector 2.1.0-nullsafety.2 depends on source_span >=1.8.0-nullsafety <1.8.0
[        ] SLVR:                             fact: boolean_selector 2.1.0-nullsafety.2 depends on string_scanner >=1.1.0-nullsafety <1.1.0
[        ] SLVR:                               selecting boolean_selector 2.1.0-nullsafety.2
[   +1 ms] SLVR:                               fact: async 2.5.0-nullsafety.2 depends on collection >=1.15.0-nullsafety <1.15.0
[        ] SLVR:                                 selecting async 2.5.0-nullsafety.2
[   +2 ms] SLVR:                                   selecting vector_math 2.1.0-nullsafety.4
[   +2 ms] SLVR:                                   fact: stack_trace 1.10.0-nullsafety.5 depends on path ^1.8.0-nullsafety
[        ] SLVR:                                     selecting stack_trace 1.10.0-nullsafety.5
[   +1 ms] SLVR:                                       selecting clock 1.1.0-nullsafety.2
[   +2 ms] SLVR:                                       fact: fake_async 1.2.0-nullsafety.2 depends on clock >=1.1.0-nullsafety <1.1.0
[        ] SLVR:                                       fact: fake_async 1.2.0-nullsafety.2 depends on collection >=1.15.0-nullsafety <1.15.0
[        ] SLVR:                                         selecting fake_async 1.2.0-nullsafety.2
[        ] SLVR:                                           selecting path 1.8.0-nullsafety.2
[   +3 ms] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on async >=2.5.0-nullsafety <2.5.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on boolean_selector >=2.1.0-nullsafety <2.1.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on collection >=1.15.0-nullsafety <1.15.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on meta >=1.3.0-nullsafety <1.3.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on path >=1.8.0-nullsafety <1.8.0
[   +1 ms] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on source_span >=1.8.0-nullsafety <1.8.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on stack_trace >=1.10.0-nullsafety <1.10.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on stream_channel >=2.1.0-nullsafety <2.1.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on string_scanner >=1.1.0-nullsafety <1.1.0
[   +1 ms] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on term_glyph >=1.2.0-nullsafety <1.2.0
[        ] SLVR:                                           fact: test_api 0.2.19-nullsafety.4 depends on matcher >=0.12.10-nullsafety <0.12.10
[        ] SLVR:                                             selecting test_api 0.2.19-nullsafety.4
[        ] SLVR:                                               selecting sky_engine 0.0.99 from sdk
[        ] SLVR: Version solving took 0:00:00.145098 seconds.
[        ]     | Tried 1 solutions.
[        ] FINE: Resolving dependencies finished (0.177s).
[   +1 ms] MSG : Overriding the upper bound Dart SDK constraint to <=2.12.0-3.0.dev for the following packages:
[   +1 ms]     |
[        ]     | async, boolean_selector, characters, charcode, clock, collection, fake_async, matcher, meta, path, source_span, stack_trace, stream_channel, string_scanner, term_glyph, test_api,
typed_data, vector_math
[   +3 ms]     |
[   +1 ms]     | To disable this you can set the PUB_ALLOW_PRERELEASE_SDK system environment variable to `false`, or you can silence this message by setting it to `quiet`.
[  +27 ms] IO  : Writing 3689 characters to text file .\pubspec.lock.
[        ] FINE: Contents:
[        ]     | # Generated by pub
[        ]     | # See https://dart.dev/tools/pub/glossary#lockfile
[        ]     | packages:
[        ]     |   async:
[        ]     |     dependency: transitive
[   +1 ms]     |     description:
[        ]     |       name: async
[   +1 ms]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "2.5.0-nullsafety.2"
[        ]     |   boolean_selector:
[        ]     |     dependency: transitive
[        ]     |     description:
[   +1 ms]     |       name: boolean_selector
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[   +1 ms]     |     version: "2.1.0-nullsafety.2"
[        ]     |   characters:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: characters
[        ]     |       url: "https://pub.dartlang.org"
[   +1 ms]     |     source: hosted
[        ]     |     version: "1.1.0-nullsafety.4"
[        ]     |   charcode:
[        ]     |     dependency: transitive
[   +1 ms]     |     description:
[        ]     |       name: charcode
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.2.0-nullsafety.2"
[        ]     |   clock:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: clock
[        ]     |       url: "https://pub.dartlang.org"
[   +1 ms]     |     source: hosted
[        ]     |     version: "1.1.0-nullsafety.2"
[        ]     |   collection:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: collection
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.15.0-nullsafety.4"
[        ]     |   cupertino_icons:
[        ]     |     dependency: "direct main"
[        ]     |     description:
[        ]     |       name: cupertino_icons
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.0.0"
[   +1 ms]     |   fake_async:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: fake_async
[   +1 ms]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[   +1 ms]     |     version: "1.2.0-nullsafety.2"
[        ]     |   flutter:
[        ]     |     dependency: "direct main"
[        ]     |     description: flutter
[   +2 ms]     |     source: sdk
[        ]     |     version: "0.0.0"
[        ]     |   flutter_test:
[        ]     |     dependency: "direct dev"
[        ]     |     description: flutter
[   +1 ms]     |     source: sdk
[        ]     |     version: "0.0.0"
[        ]     |   matcher:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: matcher
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[   +1 ms]     |     version: "0.12.10-nullsafety.2"
[   +1 ms]     |   meta:
[   +1 ms]     |     dependency: transitive
[        ]     |     description:
[   +2 ms]     |       name: meta
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.3.0-nullsafety.5"
[        ]     |   path:
[        ]     |     dependency: transitive
[        ]     |     description:
[   +1 ms]     |       name: path
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.8.0-nullsafety.2"
[        ]     |   sky_engine:
[   +1 ms]     |     dependency: transitive
[        ]     |     description: flutter
[   +1 ms]     |     source: sdk
[        ]     |     version: "0.0.99"
[        ]     |   source_span:
[        ]     |     dependency: transitive
[   +1 ms]     |     description:
[        ]     |       name: source_span
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.8.0-nullsafety.3"
[        ]     |   stack_trace:
[   +1 ms]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: stack_trace
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[   +1 ms]     |     version: "1.10.0-nullsafety.5"
[        ]     |   stream_channel:
[        ]     |     dependency: transitive
[        ]     |     description:
[   +1 ms]     |       name: stream_channel
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "2.1.0-nullsafety.2"
[        ]     |   string_scanner:
[   +1 ms]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: string_scanner
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.1.0-nullsafety.2"
[        ]     |   term_glyph:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: term_glyph
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.2.0-nullsafety.2"
[        ]     |   test_api:
[   +1 ms]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: test_api
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[   +1 ms]     |     version: "0.2.19-nullsafety.4"
[   +2 ms]     |   typed_data:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: typed_data
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "1.3.0-nullsafety.4"
[        ]     |   vector_math:
[        ]     |     dependency: transitive
[        ]     |     description:
[        ]     |       name: vector_math
[        ]     |       url: "https://pub.dartlang.org"
[        ]     |     source: hosted
[        ]     |     version: "2.1.0-nullsafety.4"
[        ]     | sdks:
[        ]     |   dart: ">=2.11.0-0.0 <=2.12.0-3.0.dev"
[        ] IO  : Writing 2247 characters to text file .\.packages.
[        ] FINE: Contents:
[        ]     | # Generated by pub on 2020-11-03 10:23:40.413944.
[   +2 ms]     | async:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.5.0-nullsafety.2/lib/
[        ]     | boolean_selector:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0-nullsafety.2/lib/
[        ]     | characters:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.1.0-nullsafety.4/lib/
[        ]     | charcode:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.2.0-nullsafety.2/lib/
[        ]     | clock:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.0-nullsafety.2/lib/
[        ]     | collection:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0-nullsafety.4/lib/
[        ]     | cupertino_icons:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.0/lib/
[        ]     | fake_async:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.2.0-nullsafety.2/lib/
[        ]     | flutter:file:///C:/Stuff/flutter/packages/flutter/lib/
[        ]     | flutter_test:file:///C:/Stuff/flutter/packages/flutter_test/lib/
[        ]     | matcher:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.10-nullsafety.2/lib/
[        ]     | meta:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.3.0-nullsafety.5/lib/
[   +1 ms]     | path:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0-nullsafety.2/lib/
[        ]     | sky_engine:file:///C:/Stuff/flutter/bin/cache/pkg/sky_engine/lib/
[        ]     | source_span:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.8.0-nullsafety.3/lib/
[        ]     | stack_trace:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0-nullsafety.5/lib/
[        ]     | stream_channel:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0-nullsafety.2/lib/
[        ]     | string_scanner:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.0-nullsafety.2/lib/
[        ]     | term_glyph:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.0-nullsafety.2/lib/
[        ]     | test_api:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.2.19-nullsafety.4/lib/
[        ]     | typed_data:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0-nullsafety.4/lib/
[   +2 ms]     | vector_math:file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.0-nullsafety.4/lib/
[        ]     | web_skia_test:lib/
[        ] MSG : Got dependencies!
[   +1 ms] IO  : Writing 4767 characters to text file .\.dart_tool\package_config.json.
[        ] FINE: Contents:
[        ]     | {
[        ]     |   "configVersion": 2,
[        ]     |   "packages": [
[        ]     |     {
[        ]     |       "name": "async",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.5.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "boolean_selector",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[   +1 ms]     |       "languageVersion": "2.10"
[   +1 ms]     |     },
[        ]     |     {
[        ]     |       "name": "characters",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.1.0-nullsafety.4",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "charcode",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.2.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "clock",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.0-nullsafety.2",
[   +2 ms]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[   +1 ms]     |     {
[        ]     |       "name": "collection",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0-nullsafety.4",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[   +1 ms]     |     {
[        ]     |       "name": "cupertino_icons",
[   +1 ms]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.0",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.0"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "fake_async",
[   +1 ms]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.2.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[   +1 ms]     |     },
[        ]     |     {
[        ]     |       "name": "flutter",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/packages/flutter",
[        ]     |       "packageUri": "lib/",
[   +1 ms]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "flutter_test",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/packages/flutter_test",
[        ]     |       "packageUri": "lib/",
[   +1 ms]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "matcher",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.10-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "meta",
[   +1 ms]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.3.0-nullsafety.5",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[   +1 ms]     |       "name": "path",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0-nullsafety.2",
[   +1 ms]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "sky_engine",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/bin/cache/pkg/sky_engine",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "1.11"
[        ]     |     },
[        ]     |     {
[   +1 ms]     |       "name": "source_span",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.8.0-nullsafety.3",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.11"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "stack_trace",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0-nullsafety.5",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "stream_channel",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[   +1 ms]     |     {
[   +1 ms]     |       "name": "string_scanner",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "term_glyph",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.0-nullsafety.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[   +1 ms]     |       "name": "test_api",
[   +1 ms]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.2.19-nullsafety.4",
[   +1 ms]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[        ]     |     },
[        ]     |     {
[   +1 ms]     |       "name": "typed_data",
[   +1 ms]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0-nullsafety.4",
[        ]     |       "packageUri": "lib/",
[   +2 ms]     |       "languageVersion": "2.10"
[   +1 ms]     |     },
[        ]     |     {
[        ]     |       "name": "vector_math",
[        ]     |       "rootUri": "file:///C:/Stuff/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.0-nullsafety.4",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.10"
[   +1 ms]     |     },
[        ]     |     {
[        ]     |       "name": "web_skia_test",
[        ]     |       "rootUri": "../",
[        ]     |       "packageUri": "lib/",
[   +1 ms]     |       "languageVersion": "2.7"
[        ]     |     }
[        ]     |   ],
[        ]     |   "generated": "2020-11-03T09:23:40.491945Z",
[   +1 ms]     |   "generator": "pub",
[        ]     |   "generatorVersion": "2.12.0-3.0.dev"
[        ]     | }
[  +25 ms] Running "flutter pub get" in web_skia_test... (completed in 749ms)
[ +124 ms] Generating C:\Stuff\git\web_skia_test\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +85 ms] Launching lib\main.dart on Chrome in debug mode...
[ +130 ms] Updating assets
[  +90 ms] Syncing files to device Chrome...
[  +81 ms] <- reset
[   +8 ms] C:\Stuff\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\Stuff\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\Stuff\flutter\bin\cache\flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -Ddart.developer.causal_async_stacks=true
-DFLUTTER_WEB_USE_SKIA=true --output-dill C:\Users\Micke\AppData\Local\Temp\flutter_tools.4a37531a\flutter_tool.6159bb21\app.dill --libraries-spec
file:///C:/Stuff/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\Micke\AppData\Local\Temp\flutter_tools.4a37531a\flutter_tools.32c1f24e --filesystem-scheme org-dartlang-app --initialize-from-dill build\3b22c16eb48c043f81099103590514a0.cache.dill.track.dill--platform file:///C:/Stuff/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill --no-sound-null-safety
[   +8 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+16092 ms] Syncing files to device Chrome... (completed in 16,2s)
[   +1 ms] Synced 28.3MB.
[        ] <- accept
[        ] Caching compiled dill
[ +229 ms] Using Opening in existing browser session.
[ +260 ms] [CHROME]:
[   +5 ms] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:55348/devtools/browser/80ecc1bd-d348-4ee4-80e7-74c41a198a96
[+1300 ms] MetadataProvider: Loading debug metadata...
[   +9 ms] MetadataProvider: Loaded debug metadata
[+4910 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:55414/MuAtXa4Xllo=/ws
[   +5 ms] Debug service listening on ws://<IP_ADDRESS>:55414/MuAtXa4Xllo=/ws
[   +2 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[   +1 ms]   To hot restart changes while running, press "r" or "R".
[   +2 ms] For a more detailed help message, press "h". To quit, press "q".
[+1142 ms] Failed to load font MaterialIcons at assets/fonts/MaterialIcons-Regular.otf
[   +3 ms] null
[        ] Error: Expected a value of type 'Future<_RegisteredFont>', but got one of type '_Future<RegisteredFont?>'
at Object.throw [as throw] (http://localhost:55248/dart_sdk.js:4193:11)
at Object.castError (http://localhost:55248/dart_sdk.js:4166:15)
at Object.cast [as as] (http://localhost:55248/dart_sdk.js:4475:17)
at Function.as_C [as as] (http://localhost:55248/dart_sdk.js:4122:19)
at Array.[dartx.add] (http://localhost:55248/dart_sdk.js:14333:11)
at _engine.SkiaFontCollection.new.registerFonts (http://localhost:55248/dart_sdk.js:130488:39)
at registerFonts.next ()
at http://localhost:55248/dart_sdk.js:36140:33
at _RootZone.runUnary (http://localhost:55248/dart_sdk.js:36008:59)
at _FutureListener.thenAwait.handleValue (http://localhost:55248/dart_sdk.js:31237:29)
at handleValueCallback (http://localhost:55248/dart_sdk.js:31752:49)
at Function._propagateToListeners (http://localhost:55248/dart_sdk.js:31790:17)
at _Future.new.[_completeWithValue] (http://localhost:55248/dart_sdk.js:31638:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:55248/dart_sdk.js:31659:35)
at Object._microtaskLoop (http://localhost:55248/dart_sdk.js:36245:13)
at _startMicrotaskLoop (http://localhost:55248/dart_sdk.js:36251:13)
at http://localhost:55248/dart_sdk.js:31999:9

Running "flutter pub get" in web_skia_test...                      481ms
Analyzing web_skia_test...
No issues found! (ran in 1.5s)

[√] Flutter (Channel master, 1.24.0-7.0.pre.53, on Microsoft Windows [Version 10.0.18363.1139], locale sv-SE)
• Flutter version 1.24.0-7.0.pre.53 at C:\Stuff\flutter
• Framework revision ee5c080d7b (21 hours ago), 2020-11-02 17:28:05 +0530
• Engine revision<PHONE_NUMBER>
• Dart version 2.12.0 (build 2.12.0-3.0.dev)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\Users\Micke\AppData\Local\Android\sdk
• Platform android-29, build-tools 29.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] VS Code (version 1.50.1)
• VS Code at C:\Users\Micke\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.16.0
[√] Connected device (3 available)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web)     • chrome     • web-javascript • Google Chrome 86.0.4240.111
• Edge (web)       • edge       • web-javascript • Microsoft Edge 86.0.622.58
• No issues found!

</details>

This seems to be a regression on Master branch. The issue is replicable on latest master wherein just creating a new project and trying to run flutter run --dart-define=FLUTTER_WEB_USE_SKIA=true -d chrome. results in blank screen and attached error log.

flutter doctor -v
[✓] Flutter (Channel master, 1.24.0-7.0.pre.75, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.24.0-7.0.pre.75 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 4019956fc8 (6 hours ago), 2020-11-03 12:28:04 +0530
    • Engine revision<PHONE_NUMBER>
    • Dart version 2.12.0 (build 2.12.0-3.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0.1, Build version 12A7300
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.1

[✓] Connected device (5 available)
    • SM G975F (mobile)                   • RZ8M802WY0X
      • android-arm64  • Android 10 (API 29)
    • iPhone SE (2nd generation) (mobile) • 6C85835D-FBFD-4AB3-8DE8-B4FAD35E5367
      • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-0 (simulator)
    • macOS (desktop)                     • macos
      • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Web Server (web)                    • web-server
      • web-javascript • Flutter Tools
    • Chrome (web)                        • chrome
      • web-javascript • Google Chrome 86.0.4240.183

• No issues found!

error log

dhs@Dhss-MacBook-Pro webtest % flutter run --dart-define=FLUTTER_WEB_USE_SKIA=true -d chrome
Downloading Web SDK...                                              8.0s
Running "flutter pub get" in webtest...                            731ms
Launching lib/main.dart on Chrome in debug mode...
Syncing files to device Chrome...                                  15.6s
Debug service listening on ws://<IP_ADDRESS>:51813/O2xYRDEqUFU=/ws

Warning: Flutter's support for web development is not stable yet and hasn't
been thoroughly tested in production environments.
For more information see https://flutter.dev/web

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".
Failed to load font MaterialIcons at assets/fonts/MaterialIcons-Regular.otf
null
Error: Expected a value of type 'Future<_RegisteredFont>', but got one of type '_Future<_RegisteredFont?>'
    at Object.throw_ [as throw] (http://localhost:51781/dart_sdk.js:4193:11)
    at Object.castError (http://localhost:51781/dart_sdk.js:4166:15)
    at Object.cast [as as] (http://localhost:51781/dart_sdk.js:4475:17)
    at Function.as_C [as as] (http://localhost:51781/dart_sdk.js:4122:19)
    at Array.[dartx.add] (http://localhost:51781/dart_sdk.js:14333:11)
    at _engine.SkiaFontCollection.new.registerFonts (http://localhost:51781/dart_sdk.js:130488:39)
    at registerFonts.next (<anonymous>)
    at http://localhost:51781/dart_sdk.js:36140:33
    at _RootZone.runUnary (http://localhost:51781/dart_sdk.js:36008:59)
    at _FutureListener.thenAwait.handleValue (http://localhost:51781/dart_sdk.js:31237:29)
    at handleValueCallback (http://localhost:51781/dart_sdk.js:31752:49)
    at Function._propagateToListeners (http://localhost:51781/dart_sdk.js:31790:17)
    at _Future.new.[_completeWithValue] (http://localhost:51781/dart_sdk.js:31638:23)
    at async._AsyncCallbackEntry.new.callback (http://localhost:51781/dart_sdk.js:31659:35)
    at Object._microtaskLoop (http://localhost:51781/dart_sdk.js:36245:13)
    at _startMicrotaskLoop (http://localhost:51781/dart_sdk.js:36251:13)
    at http://localhost:51781/dart_sdk.js:31999:9

Whereas, running the same app in previous version of Master (1.24.0-7.0.pre.27) using same command works well and doesn't throw the error in the console.

previous master version log
For a more detailed help message, press "h". To quit, press "q".
Application finished.
dhs@Dhss-MacBook-Pro webtest % flutter run --dart-define=FLUTTER_WEB_USE_SKIA=true -d chrome
Running "flutter pub get" in webtest...                            704ms
Launching lib/main.dart on Chrome in debug mode...
Syncing files to device Chrome...                                  15.4s
Debug service listening on ws://<IP_ADDRESS>:51492/qYot455L31M=/ws

Warning: Flutter's support for web development is not stable yet and hasn't
been thoroughly tested in production environments.
For more information see https://flutter.dev/web

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".

flutter doctor -v

[✓] Flutter (Channel master, 1.24.0-7.0.pre.27, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.24.0-7.0.pre.27 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision e444b1e3fa (4 days ago), 2020-10-30 00:41:52 -0400
    • Engine revision 99cc50dfff
    • Dart version 2.11.0 (build 2.11.0-266.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0.1, Build version 12A7300
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.1

[✓] Connected device (5 available)
    • SM G975F (mobile)                   • RZ8M802WY0X
      • android-arm64  • Android 10 (API 29)
    • iPhone SE (2nd generation) (mobile) • 6C85835D-FBFD-4AB3-8DE8-B4FAD35E5367
      • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-0 (simulator)
    • macOS (desktop)                     • macos
      • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Web Server (web)                    • web-server
      • web-javascript • Flutter Tools
    • Chrome (web)                        • chrome
      • web-javascript • Google Chrome 86.0.4240.183

• No issues found!

Probably a duplicate of 69570.
@mikeesouth Per this comment, a fix should land in master soon.

Closing this as duplicate in favor of 69570