New package: Fort.Firewall version 3.10.4

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@denelon
I did what you said and I still get the Validation-Unattended-Failed message/tag on this.
Tested it on my side and it worked fine. I even added the Microsoft.VCRedist.2015+.x86 dependency to the manifest as you made me learn how it could be added in the manifest.
I also used Winget Creator this time, which detected the installation as Inno correctly unlike Komac, and I even tested on another computer installing it uninstalling the Microsoft.VCRedist.2015+.x86 to make sure everything was okay, and it worked fine in the live environment as well.
The only thing that might be affecting this is the Memory Integrity / Core isolation requirement, there is no other explanation. So how can Fort deal with that?
This is what the installer checks and the message it throws when Memory Integrity is still on.
function HVCIEnabled(): Boolean;
var
  EnabledValue: Cardinal;
begin
  Result := RegQueryDWordValue(HKEY_LOCAL_MACHINE,
      'SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity',
      'Enabled', EnabledValue)
    and (EnabledValue = 1);
end;

function InitializeSetup: Boolean;
begin
  if HVCIEnabled() then
  begin
    MsgBox('This program is not compatible with HVCI (Core Isolation).', mbCriticalError, MB_OK);

    Result := False;
    Exit;
  end;

  Result := True;
end;

That was added to avoid bluescreens when driver loads on installation, so it was better to throw the message than letting people install something that would cause issues, of course this message might be incompatible with Azure pipeline, and therefore throwing the message that failed to install without user input.
Should I give up until driver is properly signed (if) someday or is there a way to do this without having the same Validation-Unattended-Failed on every update.

I also read winget doesn't like scripts in the installers. I forgot how fort has scripts for the driver,to make it easy to uninstall and reinstall the driver.
I don't know why it labels as Unattended in that case, but could be another issue?
https://github.com/tnodir/fort/blob/master/deploy/FortFirewall.iss
That's the installer. So it can be quickly checked for anything winget won't like to get the answer if I should close this or there is a way for Fort to pass validation.

It looks like the dependency might not be correct. The screenshot from validation shows the error.

Ok I know the issue. Let's ignore everything I said, it was my fault but on my defense, it's Microsoft.VCRedist fault, because when you uninstall it, it doesn't remove the files from the system32, I don't know why, but even when I removed every redist, that dll still exists in win32.
I tried to use Sandbox but it was bluescreening that old computer, and I don't have any more computers to 'clean' test it (my fault), so I started to do the live test in that computer without supposedly having vcredist installed, but the dll file is there, so the installer wasn't throwing the error.
I mean, there is no excuse to uninstall something and don't remove all the files it copied to the system, especially when I can manually go to system32 and remove the files so they are not even in use or anything, but I will fix this, because it is pretty much obvious I have to add a dependency for every different build, especially ARM.
Thank you for the feedback, this will be the last time you hear from me! 👍

@Emi-Emi-Emi no worries at all 😊
Feel free to ask questions, we all have to start somewhere!
If you haven't played with Hyper-v, that might be a reasonable way to build a "clean" Windows VM to test with. It's a huge download initially, but once you have a good image to start with, it's reasonably easy to create a VM and have a "clean" Windows base image.

You can click through the build at GitHub to get to the validation build in Azure Dev Ops, and for each run, there are artifacts you can open up to see all the logs and screenshots if any were taken. That's where I got the screenshot above.

I tried to get the screenshots you told me, clicked everywhere but then the only thing I didn't do was to 'sign in', when it asked me.
But I found another old computer laying around to get it to test in Sandbox, it didn't bluescreen so so I tested it and it worked fine, but I can see there is an issue.
The installer is checking for VCRedist x86, which is the reason why I thought was the dependency, so even if you have the x64 correctly installed, it still opens Edge and the website to download and install the latest Microsoft.VCRedist.2015+.
So I will have to talk to dev to fix that. Because might be another issue. I can't test x86 or ARM though. but x64 version has this issue of Edge. But dependencies should work fine now, at least in x64.

If there an issue with the tags or something? The Validation Pipeline was under maintenance, so it didn't work for couple days, but now it is 'healthy' and other packages are being checked, but not this one which only has the Retry-1 tag on it.
Does it has to be forced/manually to run for it to work again?

/azp run

The screenshot says it was the x86 version having issues with the VCRedist issue, I added the dependency to the manifest so I don't know why the .dll error or what happened.
I decided to remove x86 installer, because Windows 11 is 64bits only, and the probability of someone installing Fort in Win10 32bits is minimal, most people using 32 bits are Win7 users which doesn't have winget support.
I still don't get why so many issues with this, but the less installers the better, especially when I can't test x86 without a virtual machine or ARM64.... I am keeping ARM64, but If it fails I will remove it too, and keep it simple.
But since new version 3.10.5 is almost out, I might close this and try again in some days when the stable final version is out.

Well, apparently there was also an error with dependency in x64, but it installed with no issues in Sandbox, so I better close this and try when next version drops.


"Unable to determine the Plugin class"

view screenshot
Or is this not a Craft 3 plugin?

Sorry! I completely missed this issue being flagged. This is on my radar now, I'll take a look at the problem. Didn't realise it wasn't installable anymore.


Add gosec to repo.

gosec is golang security checkup https://github.com/securego/gosec it would be nice to have it enabled and from release point of view also this will be required.

golangci-lint which we already are using has support for gosec as far as I can tell. Dunno if it uses it by default or not.

it is not I am still seeing some issue when directly using gosec. I will check the golangci-lint options also.

So the one which comes with golangci-lint doesn't provide much information.
$ golangci-lint linters -E gosec
Enabled by your configuration linters:
deadcode: Finds unused code [fast: true, auto-fix: false]
errcheck: Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases [fast: true, auto-fix: false]
gosec (gas): Inspects source code for security problems [fast: true, auto-fix: false]
gosimple: Linter for Go source code that specializes in simplifying a code [fast: false, auto-fix: false]
govet (vet, vetshadow): Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string [fast: false, auto-fix: false]
ineffassign: Detects when assignments to existing variables are not used [fast: true, auto-fix: false]
staticcheck: Staticcheck is a go vet on steroids, applying a ton of static analysis checks [fast: false, auto-fix: false]
structcheck: Finds unused struct fields [fast: true, auto-fix: false]
typecheck: Like the front-end of a Go compiler, parses and type-checks Go code [fast: true, auto-fix: false]
unused: Checks Go code for unused constants, variables, functions and types [fast: false, auto-fix: false]
varcheck: Finds unused global variables and constants [fast: true, auto-fix: false]

$ golangci-lint run -E gosec
< no error or warning>

It returns some warnings here:
pkg/crc/constants/constants.go:27: G101: Potential hardcoded credentials (gosec)
        DefaultPullSecretURL = "https://cloud.redhat.com/openshift/install/crc/installer-provisioned"
pkg/extract/extract.go:104: G305: File traversal when extracting zip archive (gosec)
                path := filepath.Join(target, file.Name)
pkg/crc/pullsecret/pullsecret.go:17: G101: Potential hardcoded credentials (gosec)
        pullSecret = `apiVersion: v1
data:
  .dockerconfigjson: %s
kind: Secret
metadata:
  name: pull-secret
  namespace: openshift-config
type: kubernetes.io/dockerconfigjson`
pkg/crc/pullsecret/pullsecret.go:27: G101: Potential hardcoded credentials (gosec)
        replacePullSecretCmd = `timeout 80 bash -c 'until oc --config /tmp/kubeconfig replace -f /tmp/pull-secret.yaml 2>/dev/null 1>&2; \
do echo "Waiting for recovery apiserver to come up."; sleep 1; done'`

It returns some warnings here:

This was on linux using golangci-lint run -E gosec, but I'm getting the same output on macos, using golangci-lint as built by make lint.

DefaultPullSecretURL

It gets triggered because of the use Secret in the naming.


Prefer libvirtxml over schema.go in smbios sidecar example

What this PR does
Before this PR:
Would require virt-launcher/virtwrap/api when building smbios.go out-of-tree.
After this PR:
Requires libvirtxml instead.

Fixes #11817
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

SMBios sidecar can be built out-of-tree

I like it! Thanks!
/approve


feat: Improvement of UI for Footer

Title : feat : Improvement of UI for Footer
Issue No. : #904
Code Stack : HTML and CSS
Close #904
Description
Added hover effect and border to the headings.
Changed color of sub headings.
Added hover effect on the clickable subheading.
Improved Layout of- Places You May Want to Visit, Social Media, Address, Reach Out To Us, Follow Us
Video/Screenshots (mandatory)
https://github.com/apu52/Travel_Website/assets/134837879/b62ea38f-dd28-481d-8d65-8f3f6b69d606
Type of PR

[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[X] I have performed a self-review of my code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have gone through the  contributing.md file before contributing

##Are you contributing under any Open-source program?

[X] I am contributing under GSSOC'24
[ ] I am contributing under VSOC'24

@apu52 Thankyou


Handling huge indexes with few GBs of RAM

This issue describes a new feature in pandora to handle huge indexes with few GBs of RAM. The concrete example we have is an index with 186k PRGs, mostly linear. The main use case accounts for almost 1M PRGs. For this "small" example with 186k PRGs, running pandora compare with reads from 114 samples results in only 13.7k genes actually being found and being in the final multisample matrix/vcf (7.3%). pandora takes 15.6 GB of RAM to run compare in this case, but could possibly do it with just a fraction of this RAM if it loaded the index just for the relevant 13.7k genes, instead of all 186k genes. RAM usage will be much higher for 1M PRGs, and we want to keep this runnable for common user desktops, i.e. at most 13 or 14 GB of usage. For this use case, we have a fixed vcf-ref for each PRG, so we could also run pandora compare (or map in this case) per sample and merge results later. This feature is particularly important for running pandora compare/map for one sample, as even less genes will be loaded.

In order to describe the general algorithm for this feature, remember that the pandora index in disk is described as a text file, where each line describes:
<minimiser_hash>      <number_of_locations_of_the_minimiser_in_the_PRGs>       <each_location_of_the_minimiser_in_the_PRG>

e.g.:
38725510        1       (184264, 1{[34790, 34805)}, 6777, 1)
37998773        1       (184264, 1{[33544, 33559)}, 6775, 0)
88926763        1       (184264, 1{[33532, 33547)}, 6758, 1)
28398107        2       (184264, 1{[32531, 32546)}, 6756, 0)    (184264, 1{[24908, 24923)}, 6783, 0)

The general algorithm to do this will be:

Collect all minimising kmers from the reads (MR);

Note: here we don't have the pandora index loaded, we simply sketch the reads and store the hash of their minimising kmers;

Collect, for each PRG, the number of minimising kmers in its shortest path (PRG.SP_length);
Go through each line of the pandora index and count how many minimisers you get in each PRG given MR (PRG.count). For each line of the pandora index:
3.1. Check if the minimiser is in the set of read minimisers collected in step 1;
3.2. If it is, increase the count of each PRG in that index line by 1;
For each PRG, calculate the PRG kmer presence ratio as: PRG.presence_ratio = PRG.count / PRG.SP_length;
Keep only the PRGs such that PRG.presence_ratio >= presence_threshold, given a presence_threshold specified by the user. Call this set Solid PRGs;
Load the minimiser locations from the full pandora index only if they stem from one of the PRGs in Solid PRGs. This is called a sample-induced index;

Notes:

presence_threshold is a parameter specified by the user in the CLI. A high value will make the index smaller, but increases the change of filtering out a TP gene. Low values will make the index larger, but might include genes that no samples map to. Low values are preferable here, as long as the sample-induced index satisfy the RAM requirements;
We never fully load the pandora index into RAM;
We are basically trading CPU cycles for RAM (classical). We need to go through the sample reads, the full index, and the PRGs two times instead of 1. So this partial index loading will induce a slowdown on runtime, but it will keep RAM usage small.

Implementation notes (mostly for me):

Step 2 can be dramatically sped up by simply computing PRG.SP_length beforehand, at the pandora index step;
PRGs in pandora are indexed starting from 0, in the order of the .prg.fa file. So for step 3, a simple std::vector<uint32_t> should be enough to store the counts, no need to use maps;
Using the same trick in the previous step, Solid PRGs can be represented by a bit vector, where 1 means that the PRG is solid, and 0 otherwise;
The pandora index is a set of files that need to live together: we need the .prg.fa file (the PRGs themselves), the .prg.fa.kxx.wyy.idx (the index itself), the kmer_prgs/**/*.kxx.wyy.gfa files (the kmer graph, one file/PRG). We will probably add another file with the PRG.SP_length for each PRG. This structure is not ideal for very large PRGs, e.g. for our main use case with ~1M PRGs, indexing will create ~1M kmer_prgs/**/*.kxx.wyy.gfa files, which makes it hard to distribute and move. The kmer_prgs/**/*.kxx.wyy.gfa could well be transformed into a single multi gfa file, as we don't randomly access these gfas, only sequential access. Then we have in the end a handful of files, which we can combine all into a single zip file, so that we can easily access each file fast, and also for compression.

To do this, need to implement:

https://github.com/rmcolq/pandora/issues/306
https://github.com/rmcolq/pandora/issues/305


CLI Starter Kit Fails on Clean Install with ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE

Describe the bug
Trying to install for the first time on WSL2 (Windows 11) with the following environment:

Docker: 26.0.0 (instructions don't specify a min/max required version)
Node: 18.20.2 (satisfies doc requirement of v18 or above)
pnpm: 9.0.6 (satisfies doc requirement of v8 or above)
WSL2 (satisfies doc requirement)
Python 3.11.9 (satisfies doc requirement of v3.11)

After I fill out the environment variables in the beginning, the installation quickly fails with the following error:
ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE  Cannot perform a frozen installation because the version of the lockfile is incompatible with this version of pnpm

Try either:
1. Aligning the version of pnpm that generated the lockfile with the version that installs from it, or
2. Migrating the lockfile so that it is compatible with the newer version of pnpm, or
3. Using "pnpm install --no-frozen-lockfile".
Installing dependencies... !
    Error: Command failed: pnpm i --frozen-lockfile

Steps to reproduce
1- I made sure I have the following installed on my machine (WSL2 running on Windows)

Docker: 26.0.0
Node: 18.20.2
pnpm: 9.0.6
WSL2
Python 3.11.9

2- I created a directory [dir]
mkdir [dir]

3- I ran pnpm create-saas-boilerplate ./[dir]
pnpm create-saas-boilerplate ./[dir]

System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.1 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
    Memory: 3.29 GB / 7.64 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 18.20.2 - ~/.nvm/versions/node/v18.20.2/bin/node
    npm: 10.5.0 - ~/.nvm/versions/node/v18.20.2/bin/npm
    pnpm: 9.0.6 - ~/.nvm/versions/node/v18.20.2/bin/pnpm

Logs

Click to expand!
------ Notice ------
This CLI collects various anonymous events, warnings, and errors to improve the CLI tool and enhance your user experience.
Read more: https://docs.demo.saas.apptoku.com/working-with-sb/dev-tools/telemetry
If you want to opt out of telemetry, you can set the environment variable SB_TELEMETRY_DISABLED to 1 in your shell.
For example:
   export SB_TELEMETRY_DISABLED=1

Performing system check:
✔ Checking if docker is installed... it is!
✔ Checking if pnpm is installed... it is!
Project will be initialized in directory: /home/[***]/[***]
Fetching latest release... done
Latest release: 2.6.0
Downloading project... done
Setup environment variables:
This step will set up all environment variables.
For more details visit: https://docs.demo.saas.apptoku.com/api-reference/env.

 This will not take effect. You should configure "pnpm" at the root of the workspace instead.
Scope: all 22 workspace projects
 ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE  Cannot perform a frozen installation because the version of the lockfile is incompatible with this version of pnpm

Try either:
1. Aligning the version of pnpm that generated the lockfile with the version that installs from it, or
2. Migrating the lockfile so that it is compatible with the newer version of pnpm, or
3. Using "pnpm install --no-frozen-lockfile".
Installing dependencies... !
    Error: Command failed: pnpm i --frozen-lockfile

Validations

[X] Follow our Code of Conduct.
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Thanks for creating this issue! It looks like there might be a problem with backward compatibility of the pnpm 9+. Will check this

I had the same issue when I used the pnpm version 7.20.0
Warning: run-commands command "docker-compose build workers" exited with non-zero status code

 >  NX   Running target compose-build-image for 2 projects and 2 tasks they depend on failed
   Failed tasks:

   - workers:compose-build-image
Warning: run-commands command "nx run-many --target=compose-build-image --projects=backend,workers" exited with non-zero status code

 >  NX   Ran target docker-compose:up for project core and 2 task(s) they depend on (5s)

    ✖    1/3 failed
    ✔    2/3 succeeded [1 read from cache]

    Error: "pnpm nx run core:docker-compose:up" failed with code 1

Resolved with pnpm version 8.15.7


[Snyk] Upgrade @types/node from 18.11.18 to 18.11.19

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade @types/node from 18.11.18 to 18.11.19.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 21 days ago, on 2023-02-04.

Release notes

Package name: @types/node

18.11.19 - 2023-02-04

18.11.18 - 2022-12-26

    from @types/node GitHub release notes

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Codecov Report
Base: 92.36% // Head: 91.98% // Decreases project coverage by -0.39% :warning:

Coverage data is based on head (482215b) compared to base (b2c7ca9).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #183      +/-   ##
==========================================
- Coverage   92.36%   91.98%   -0.39%
==========================================
  Files           9        9
  Lines         262      262
==========================================
- Hits          242      241       -1
- Misses         20       21       +1

Impacted Files
Coverage Δ

lib/function-loader.js
88.46% <0.00%> (-3.85%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[Bug] Dashdot fails to find speedtest on Windows

Description of the bug
When building from source on Windows, dashdot fails to find the speedtest executable because the line of code which checks for the speedtest utility uses the which command. This command does not exist on windows, instead you must use the where command.
The code requiring the patch is here: https://github.com/MauriceNino/dashdot/blob/ce89dff8fccd702bac9a4bd9038904ecdc012555/apps/api/src/data/network.ts#L13
How to reproduce

Download the speedtest.exe utility and place it on the path
Follow the "building from source" instructions
Run dashdot and receive the error: There is no speedtest module installed

Ehh right, that is already fixed, just not released. Will do so right now. Thanks for reporting it though.

Unfortunately, I can't release the docker version right now (#885), but as you are using git, you can just pull the latest changes and run them anyway.


Not clear how to exit Administrator View in order to view new portal as developer instead of Admin

The documentation should contain either directions on how to exit the administrator view or state that its not possible.
Every time I navigate to the new portal, it jumps right into the Administrator view. But sometimes I just want to experience the portal the same way end users would. And holding down CTRL the entire time is definitely not optimal.
Can I request placing a button somewhere in the toolbox controls somewhere so that I can explicitly exit this mode?

@jstallm Thanks for reaching out to us, but at this time it does not look like you are referring to a document but to a specific scenario. If you are referring to an Azure documentation and if you think it needs an update (w.r.t documentation or product), please let us know that Azure documentation link / URL here so that we can investigate, work and provide you an update here. Else, we request you to please post your question on MSDN and other forums, we have our engineers and others who are monitoring them and will be happy to help.

Thats ok. Im just going to use a different user login other than admin. Thanks.

@jstallm Thanks for the update. Closing this issue for now. If there is feedback regarding an Azure documentation, please do let us know with the Azure documentation link / URL and we will gladly continue the discussion.


chore(core): add general builder and cli-fixture tests

Resolves https://github.com/StellateHQ/fuse.js/issues/95
This adds a set of builder tests of the parts that we made custom and perform more logic than the battle-tested pothos. We also add general tests for our cli in terms of dev expectations

Love it! 🙌


New environments for LAA SMTP

Environment details
DEV, TST, PRE, PROD
Application Name
laa-mail-relay
Description of application
These environments will contain a Postfix Server with SES set up to relay emails from various LAA applications in MP to users.
GitHub team slug
laa-aws-infrastructure
GitHub code owner team slug
laa-aws-infrastructure
GitHub actions reviewer team slug
laa-aws-infrastructure
Environments

[X] Development
[X] test
[X] Preproduction
[X] Production

Environment access level Development
sandbox
Environment access level Test
developer
Environment access level Preproduction
developer
Environment access level Production
developer
application
LAA Mail Relay
business-unit
LAA
infrastructure-support
<EMAIL_ADDRESS>owner
<EMAIL_ADDRESS>Subnet sets

[X] General
[ ] Isolated

How do users connect to the application
Over the public internet
Additional features
Please check any additional features required

[ ] Additional VPC Endpoints
[ ] Extended DNS Zones
[x] Other - please specify - we shall be requesting for production access for SES ourselves

Other information
Please also add in no nuke destroy weekly for the sandbox DEV environment
Definition of Done
Definition of Done

[ ] account created
[ ] customer informed

Kicked off account creation. Will check on updates at 11.20

We are experiencing issues with the account alias due to a conflict with an existing alias. Although we renamed the closed account to a different alias, the change was not successfully applied on AWS's side. We currently do not have the necessary permissions to resolve this issue and will wait until Monday for Ewa's assistance to move the account from closed OU to root OU.

Issues overcome. laa-mail-relay development created & Vincent informed. Creating test now. Will create the other two tomorrow.

Test created and Vincent informed.

ticket reviewed and environments successfully created, moving to Done.


TCP Socket timeout

We have a ruby script set up with Azure DevOps to run dependabot. It succeeds at checking some of our other dependencies, until it reaches the node-sass one, at which point it seems to hit some sort of TCP timeout. This succeeded yesterday, so I'm a little confused as to what could have happened, and the error isn't particularly helpful.
Package manager/ecosystem
npm
Dependabot version
0.130.1
Updated dependency
node-sass from 4.14.1 to 5.0.0
Log
2021-01-19T13:26:02.6177017Z Found lint-staged @ 10.2.7...
2021-01-19T13:26:11.4992054Z   considering upgrade to 10.5.3
2021-01-19T13:26:29.7508556Z   PR already exists or an error has occurred
2021-01-19T13:26:29.7510094Z Found node-sass @ 4.14.1...
2021-01-19T13:26:38.7966448Z   considering upgrade to 5.0.0
2021-01-19T13:27:10.9261961Z /usr/lib/ruby/2.6.0/net/protocol.rb:217:in `rbuf_fill': Net::ReadTimeout with #<TCPSocket:(closed)> (Faraday::TimeoutError)
2021-01-19T13:27:10.9263883Z 	from /usr/lib/ruby/2.6.0/net/protocol.rb:191:in `readuntil'
2021-01-19T13:27:10.9271647Z 	from /usr/lib/ruby/2.6.0/net/protocol.rb:201:in `readline'
2021-01-19T13:27:10.9273141Z 	from /usr/lib/ruby/2.6.0/net/http/response.rb:40:in `read_status_line'
2021-01-19T13:27:10.9274666Z 	from /usr/lib/ruby/2.6.0/net/http/response.rb:29:in `read_new'
2021-01-19T13:27:10.9275911Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1509:in `block in transport_request'
2021-01-19T13:27:10.9277273Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1506:in `catch'
2021-01-19T13:27:10.9278461Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1506:in `transport_request'
2021-01-19T13:27:10.9279632Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1479:in `request'
2021-01-19T13:27:10.9280596Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1228:in `get'
2021-01-19T13:27:10.9282545Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:139:in `block in request_via_get_method'
2021-01-19T13:27:10.9316033Z 	from /usr/lib/ruby/2.6.0/net/http.rb:920:in `start'
2021-01-19T13:27:10.9317166Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:138:in `request_via_get_method'
2021-01-19T13:27:10.9318294Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:129:in `request_with_wrapped_block'
2021-01-19T13:27:10.9319779Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:122:in `perform_request'
2021-01-19T13:27:10.9320837Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:66:in `block in call'
2021-01-19T13:27:10.9321814Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/adapter.rb:60:in `connection'
2021-01-19T13:27:10.9322957Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:64:in `call'
2021-01-19T13:27:10.9324078Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/middleware.rb:18:in `call'
2021-01-19T13:27:10.9325002Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/middleware.rb:18:in `call'
2021-01-19T13:27:10.9326053Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/middleware/follow_redirects.rb:73:in `perform_with_redirection'
2021-01-19T13:27:10.9327123Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/middleware/follow_redirects.rb:61:in `call'
2021-01-19T13:27:10.9328087Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/request/retry.rb:148:in `call'
2021-01-19T13:27:10.9329090Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/rack_builder.rb:154:in `build_response'
2021-01-19T13:27:10.9330055Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/connection.rb:492:in `run_request'
2021-01-19T13:27:10.9331193Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/connection.rb:198:in `get'
2021-01-19T13:27:10.9332095Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/sawyer-0.8.2/lib/sawyer/agent.rb:94:in `call'
2021-01-19T13:27:10.9333023Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/connection.rb:156:in `request'
2021-01-19T13:27:10.9333985Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/connection.rb:84:in `paginate'
2021-01-19T13:27:10.9334938Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/client/releases.rb:15:in `releases'
2021-01-19T13:27:10.9336001Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:95:in `public_send'
2021-01-19T13:27:10.9337176Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:95:in `block in method_missing'
2021-01-19T13:27:10.9338368Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:115:in `retry_connection_failures'
2021-01-19T13:27:10.9339591Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:92:in `method_missing'
2021-01-19T13:27:10.9340765Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:206:in `fetch_github_releases'
2021-01-19T13:27:10.9341999Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:197:in `fetch_dependency_releases'
2021-01-19T13:27:10.9343198Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:56:in `all_releases'
2021-01-19T13:27:10.9344380Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:42:in `all_dep_releases'
2021-01-19T13:27:10.9345713Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:164:in `release_for_version'
2021-01-19T13:27:10.9346938Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:156:in `previous_release'
2021-01-19T13:27:10.9347978Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:82:in `releases_since_previous_version'
2021-01-19T13:27:10.9348997Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:60:in `relevant_releases'
2021-01-19T13:27:10.9349977Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:33:in `releases_text'
2021-01-19T13:27:10.9350928Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base.rb:88:in `releases_text'
2021-01-19T13:27:10.9351745Z 	from /usr/lib/ruby/2.6.0/forwardable.rb:230:in `releases_text'
2021-01-19T13:27:10.9352623Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder/metadata_presenter.rb:64:in `release_cascade'
2021-01-19T13:27:10.9353659Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder/metadata_presenter.rb:38:in `to_s'
2021-01-19T13:27:10.9354785Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder.rb:313:in `metadata_cascades_for_dep'
2021-01-19T13:27:10.9355800Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder.rb:289:in `metadata_cascades'
2021-01-19T13:27:10.9356810Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder.rb:48:in `pr_message'
2021-01-19T13:27:10.9357768Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator.rb:159:in `azure_creator'
2021-01-19T13:27:10.9358681Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator.rb:91:in `create'
2021-01-19T13:27:10.9359352Z 	from ./update.rb:79:in `block in check_package_deps'
2021-01-19T13:27:10.9359797Z 	from ./update.rb:27:in `each'
2021-01-19T13:27:10.9360239Z 	from ./update.rb:27:in `check_package_deps'
2021-01-19T13:27:10.9360710Z 	from ./update.rb:138:in `block in <main>'
2021-01-19T13:27:10.9361144Z 	from ./update.rb:128:in `each'
2021-01-19T13:27:10.9361557Z 	from ./update.rb:128:in `<main>'
2021-01-19T13:27:10.9362236Z /usr/lib/ruby/2.6.0/net/protocol.rb:217:in `rbuf_fill': Net::ReadTimeout with #<TCPSocket:(closed)> (Net::ReadTimeout)
2021-01-19T13:27:10.9363015Z 	from /usr/lib/ruby/2.6.0/net/protocol.rb:191:in `readuntil'
2021-01-19T13:27:10.9363541Z 	from /usr/lib/ruby/2.6.0/net/protocol.rb:201:in `readline'
2021-01-19T13:27:10.9364096Z 	from /usr/lib/ruby/2.6.0/net/http/response.rb:40:in `read_status_line'
2021-01-19T13:27:10.9364651Z 	from /usr/lib/ruby/2.6.0/net/http/response.rb:29:in `read_new'
2021-01-19T13:27:10.9365228Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1509:in `block in transport_request'
2021-01-19T13:27:10.9365782Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1506:in `catch'
2021-01-19T13:27:10.9366348Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1506:in `transport_request'
2021-01-19T13:27:10.9366882Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1479:in `request'
2021-01-19T13:27:10.9367380Z 	from /usr/lib/ruby/2.6.0/net/http.rb:1228:in `get'
2021-01-19T13:27:10.9368271Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:139:in `block in request_via_get_method'
2021-01-19T13:27:10.9368952Z 	from /usr/lib/ruby/2.6.0/net/http.rb:920:in `start'
2021-01-19T13:27:10.9369714Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:138:in `request_via_get_method'
2021-01-19T13:27:10.9370642Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:129:in `request_with_wrapped_block'
2021-01-19T13:27:10.9371556Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:122:in `perform_request'
2021-01-19T13:27:10.9372424Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:66:in `block in call'
2021-01-19T13:27:10.9373249Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/adapter.rb:60:in `connection'
2021-01-19T13:27:10.9374059Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb:64:in `call'
2021-01-19T13:27:10.9374853Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/middleware.rb:18:in `call'
2021-01-19T13:27:10.9375625Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/middleware.rb:18:in `call'
2021-01-19T13:27:10.9376490Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/middleware/follow_redirects.rb:73:in `perform_with_redirection'
2021-01-19T13:27:10.9377448Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/middleware/follow_redirects.rb:61:in `call'
2021-01-19T13:27:10.9378263Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/request/retry.rb:148:in `call'
2021-01-19T13:27:10.9379077Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/rack_builder.rb:154:in `build_response'
2021-01-19T13:27:10.9379893Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/connection.rb:492:in `run_request'
2021-01-19T13:27:10.9380679Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/faraday-1.3.0/lib/faraday/connection.rb:198:in `get'
2021-01-19T13:27:10.9381429Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/sawyer-0.8.2/lib/sawyer/agent.rb:94:in `call'
2021-01-19T13:27:10.9382205Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/connection.rb:156:in `request'
2021-01-19T13:27:10.9382991Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/connection.rb:84:in `paginate'
2021-01-19T13:27:10.9383797Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/octokit-4.20.0/lib/octokit/client/releases.rb:15:in `releases'
2021-01-19T13:27:10.9384692Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:95:in `public_send'
2021-01-19T13:27:10.9385657Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:95:in `block in method_missing'
2021-01-19T13:27:10.9386653Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:115:in `retry_connection_failures'
2021-01-19T13:27:10.9387622Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/clients/github_with_retries.rb:92:in `method_missing'
2021-01-19T13:27:10.9388620Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:206:in `fetch_github_releases'
2021-01-19T13:27:10.9389723Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:197:in `fetch_dependency_releases'
2021-01-19T13:27:10.9390721Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:56:in `all_releases'
2021-01-19T13:27:10.9391705Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:42:in `all_dep_releases'
2021-01-19T13:27:10.9392707Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:164:in `release_for_version'
2021-01-19T13:27:10.9393710Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:156:in `previous_release'
2021-01-19T13:27:10.9394742Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:82:in `releases_since_previous_version'
2021-01-19T13:27:10.9395753Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:60:in `relevant_releases'
2021-01-19T13:27:10.9396738Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base/release_finder.rb:33:in `releases_text'
2021-01-19T13:27:10.9397751Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/metadata_finders/base.rb:88:in `releases_text'
2021-01-19T13:27:10.9398440Z 	from /usr/lib/ruby/2.6.0/forwardable.rb:230:in `releases_text'
2021-01-19T13:27:10.9399306Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder/metadata_presenter.rb:64:in `release_cascade'
2021-01-19T13:27:10.9400354Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder/metadata_presenter.rb:38:in `to_s'
2021-01-19T13:27:10.9401388Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder.rb:313:in `metadata_cascades_for_dep'
2021-01-19T13:27:10.9402395Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder.rb:289:in `metadata_cascades'
2021-01-19T13:27:10.9405878Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator/message_builder.rb:48:in `pr_message'
2021-01-19T13:27:10.9406868Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator.rb:159:in `azure_creator'
2021-01-19T13:27:10.9408481Z 	from /__w/320/s/build/Pipeline/Dependabot/vendor/ruby/2.6.0/gems/dependabot-common-0.130.1/lib/dependabot/pull_request_creator.rb:91:in `create'
2021-01-19T13:27:10.9409315Z 	from ./update.rb:79:in `block in check_package_deps'
2021-01-19T13:27:10.9409808Z 	from ./update.rb:27:in `each'
2021-01-19T13:27:10.9410291Z 	from ./update.rb:27:in `check_package_deps'
2021-01-19T13:27:10.9410780Z 	from ./update.rb:138:in `block in <main>'
2021-01-19T13:27:10.9411238Z 	from ./update.rb:128:in `each'
2021-01-19T13:27:10.9411714Z 	from ./update.rb:128:in `<main>'

It appears that this may have been caused by a disk space issue. It might be nice if the error reporting was improved in this area. If this is not something that should be tracked in this issue, then I am happy for it to be closed.

It appears that this may have been caused by a disk space issue. It might be nice if the error reporting was improved in this area. If this is not something that should be tracked in this issue, then I am happy for it to be closed.


How to get  for Storage Emulator?

I guess account-name is Storage account name on Home > Storage accounts > [My storage]
How to get a resource-path?
http://<local-machine-address>:<port>/<account-name>/**<resource-path>**

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

ID: 0bd49c9b-995f-cc7e-77d7-74f21f1249f7
Version Independent ID: 1c2ce65b-5bd3-ca40-a487-ca5059f2c887
Content: Use the Azure Storage Emulator for development and testing
Content Source: articles/storage/common/storage-use-emulator.md
Service: storage
Sub-service: common
GitHub Login: @mhopkins-msft
Microsoft Alias: mhopkins

Thanks for the ask  . At this time we are reviewing the ask and we will reply back as soon as we can .

@autohub7 Apologies for the delay responding here. If you are working with blobs the resource path would be the container name and the blob you are working with  Such as: http://<IP_ADDRESS>:10000/myaccount/mycontainer/myblob.txt
Hope this answer your question. I will now proceed to close out this issue. If you have further question please feel free to tag me and we can reopen this.


barcode_scan plugin doesn't work with android_alarm_manager

Here's my crash:
E/flutter (16834): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter (16834): PlatformException(error, registrar.activity() must not be null, null)
E/flutter (16834): #0      JSONMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:149:7)
E/flutter (16834): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:292:18)
E/flutter (16834): <asynchronous suspension>
E/flutter (16834): #2      AndroidAlarmManager.initialize (package:android_alarm_manager/android_alarm_manager.dart:70:10)
E/flutter (16834): <asynchronous suspension>
E/flutter (16834): #3      main (package:lek_bierz/main.dart:19:29)
E/flutter (16834): <asynchronous suspension>
E/flutter (16834): #4      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:289:19)
E/flutter (16834): #5      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

My code basically has await AndroidAlarmManager.initialize(); (that line causes the crash) on the top of the void main() async function and has <service> registered in manifest as well as custom Application class created, implemented the PluginRegistrantCallback and added it to manifest. But it just doesn't work. It crashes on this line given above.
Doctor:
[✓] Flutter (Channel beta, v0.11.3, on Linux, locale pl_PL.UTF8)
    • Flutter version 0.11.3 at /opt/flutter
    • Framework revision 72bf075e8d (2 weeks ago), 2018-11-09 20:36:17 -0800
    • Engine revision 5646e86a6f
    • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4)

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /home/albert221/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 27.0.3
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 29.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected device (1 available)
    • Pixel 2 XL • 712KPED1275708 • android-arm64 • Android 9 (API 28)

Whole application code available here, but I don't see the relevance of any of my code with the crash.
Quick links to files in this repo:

pubspec.yaml
main.dart
Application.kt
MainActivity.kt
AndroidManifest.xml

+1

@laoqiu
"me too" and "+1" comments are pointless.
Instead use  on the initial comment to upvote and increase priority.
Comments cause spammy notification mails sent to all subscribers.
If you want to get notified, use

I checked out your code @Albert221 https://github.com/Albert221 and replace it in the example folder of the plugin, but cannot flutter run, see log
Wolfie-MBP:example truongsinh$ flutter run
Using hardware rendering with device Android SDK built for x86 64. If you get graphics artifacts, consider enabling software rendering with
"--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 64 in debug mode...
Initializing gradle...                                       1.4s
Resolving dependencies...
* Error running Gradle:
ProcessException: Process "/Users/truongsinh/Development/flutter-plugins/packages/android_alarm_manager/example/android/gradlew" exited abnormally:
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/truongsinh/Development/flutter-plugins/packages/android_alarm_manager/example/android/app/build.gradle' line: 30

* What went wrong:
A problem occurred evaluating project ':app'.
> /Users/truongsinh/Development/flutter-plugins/packages/android_alarm_manager/example/android/key.properties (No such file or directory)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
  Command: /Users/truongsinh/Development/flutter-plugins/packages/android_alarm_manager/example/android/gradlew app:properties

Please review your Gradle project setup in the android/ folder.
Wolfie-MBP:example truongsinh$

I debugged it quickly and this problem seems to occur once you add the barcodescanner dependency and this line to the AndroidManifest:
 <activity android:name="com.apptreesoftware.barcodescan.BarcodeScannerActivity"/>

Same here.
I/AlarmService(12538): Starting AlarmService... E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): Failed to handle method call E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.PluginRegistry$PluginRegistrantCallback.registerWith(io.flutter.plugin.common.PluginRegistry)' on a null object reference E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at io.flutter.plugins.androidalarmmanager.AlarmService.startAlarmService(AlarmService.java:65) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at io.flutter.plugins.androidalarmmanager.AndroidAlarmManagerPlugin.startService(AndroidAlarmManagerPlugin.java:75) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at io.flutter.plugins.androidalarmmanager.AndroidAlarmManagerPlugin.onMethodCall(AndroidAlarmManagerPlugin.java:52) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:163) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at android.os.MessageQueue.nativePollOnce(Native Method) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at android.os.MessageQueue.next(MessageQueue.java:325) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at android.os.Looper.loop(Looper.java:142) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at android.app.ActivityThread.main(ActivityThread.java:6494) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at java.lang.reflect.Method.invoke(Native Method) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) E/MethodChannel#plugins.flutter.io/android_alarm_manager(12538): 	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:108) E/flutter (12538): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception: E/flutter (12538): PlatformException(error, Attempt to invoke interface method 'void io.flutter.plugin.common.PluginRegistry$PluginRegistrantCallback.registerWith(io.flutter.plugin.common.PluginRegistry)' on a null object reference, null) E/flutter (12538): #0      JSONMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:149:7) E/flutter (12538): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:292:18) E/flutter (12538): <asynchronous suspension>

The issue is probably that the barcode_scan plugin is assuming there's an activity when it's registered.
I suspect there is more to the crash than described in the original comment. It would be helpful to have the entire log of the program execution.

facing the same issue. any update on this?

Hi @Albert221  @zubairehman
Are you still experiencing this issue with latest stable?
if so, can you please provide your flutter doctor -v and flutter run --verbose?
Also, to better address the issue, would be helpful
if you could post a minimal code sample to reproduce the problem
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so it's always better to open new issues and reference related issues.


Track action success in notification

If action was successful, it should be tracked in the notification so we can display corresponding icon.

Not needed


item.html.split() sometimes fails

It seems that the following line of code sometimes fails:
...item.html.split('"').filter(slice => slice.includes(ghostImagePath)),

With Cannot read property 'split' of null, i.e. item.html is sometimes null.

Interesting, I wonder if it's from pages with no content at all, and the html is returned as null?

I am not sure, but this error seems to happen several times per day.

Per day? I had no idea this plugin was being used so frequently. I could really do with some more time to bring this all up to date. My current to dos are:

Finish updating the plugin to the latest Build Plugins spec
Update my article to match this new spec, and prevent sharing outdated code
Attempt to provide a decent working example. Currently struggling to run a demo within the repo due "it's meta" issues. See: https://community.netlify.com/t/creating-demos-for-build-plugins/12774

There's no rush! Sorry to make it sound otherwise :)


Review whether component correctly leverages TWBS DOM and classes

TWBS Classes
Our Usage

alert-success ,alert-info, alert-warning, alert-danger source
sufficiently abstract component classes into an enum  source and "generate" alert type source

alert-dismissible source
The usage of a dismissible alert is inconsistent with the usage of the rest of the classes in our implementation. We abstract this class into a prop source and bind it source in the component however the rest of the alert classes are shoved into an enum and twitter treats them as equals. The twitter dom usage of this dismissible class is like every other class source (seen right alongside "alert warning").

alert-link source
we are currently not leveraging this class and my recommendation is that we should as alert often provide resources like links to follow to the user.

Regarding the alert-link usage, https://github.com/softlayer/sl-ember-components/issues/1249#issuecomment-162939521 addresses this.

@erangeles Unless I have missed something about your alert-dismissable description this is done this way because "dismissible" is a more than just a class being applied but also the display of of a close button.  "dismissable" must be a property to that this can be controlled and as such does not fit into the enum approach of the other classes which are truly just for styling.

outside of proposals detailed in #1249, TWBS is being leveraged correctly.


Bug: Internal Speech Error (Windows.Media.SpeechRecognition)

Description
When you initialize a new instance of Windows.Media.SpeechRecognition.SpeechRecognizer you will get this error
Unhandled exception. System.Runtime.InteropServices.COMException (0x800455A0): The text associated with this error code could not be found.

Internal Speech Error.
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|39_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at WinRT.IActivationFactoryMethods.ActivateInstance[I](IObjectReference obj)
   at Windows.Media.SpeechRecognition.SpeechRecognizer..ctor()

Steps done:
Changed TargetFramework to <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
Used both CsWinRT and changing csproj Sdk property to Microsoft.NET.Sdk.WindowsDesktop (not simultaneously)
Steps To Reproduce

Create a WPF or Avalonia project.
Change TargetFramework to net8.0-windows10.0.19041.0
Install CsWinRT
Initialize a new instance of Windows.Media.SpeechRecognition.SpeechRecognizer
Crash with the same error

Expected Behavior
It should not crash and successfully work.
Version Info
CsWinRT Version: 2.2.0
.NET SDK: 8.0.400
Windows SDK: 10.0.19041.0
Additional Context
No response

Well, apparently this is a bug with running the program as administrator and seems to have nothing to do with CsWinRT but the flaky WinRT API Instead.


Cannot find definitions with baseUrl

Bug Report

🔎 Search Terms
typescript "cannot find a declaration file" baseurl
typescript "cannot find a declaration file" strace
"Could not find a declaration file for module 'marked'"
typescript yarn "--modules-folder"
typescript cant find definitions baseurl
typescript ignores typeroots
typescript can't find definitions from @types
typescript "cannot find a declaration file for module"
typescript "cannot find a declaration file for module" "baseurl"
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about imports

I tried 4.8.3 and typescript@next.
⏯ Playground Link
This is about module path resolution, so a playground link is not helpful.
💻 Code
src/index.ts
import { marked } from "marked";

.yarnrc
--modules-folder ../nm2

tsconfig.json
{
  "emitDecoratorMetadata": true,
  "experimentalDecorators": true,
  "compilerOptions": {
    "lib": ["DOM", "ES2018"],
    "target": "ES2018",
    "downlevelIteration": true,
    "moduleResolution": "Node",
    "strict": true,
    "noImplicitAny": true,
    "baseUrl": "../nm2",
    "typeRoots": ["../nm2/@types"]
  }
}

package.json
{
  "dependencies": {
    "idb": "^7.1.0",
    "marked": "^4.1.0"
  },
  "devDependencies": {
    "@types/marked": "^4.0.7",
    "typescript": "^4.9.0-dev.20220921"
  }
}

I tried with and without typeRoots.
🙁 Actual behavior
The build fails.
  Try `npm i --save-dev @types/marked` if it exists or add a new declaration (.d.ts) file containing `declare module 'marked';`

1 import { marked } from "marked";
                         ~~~~~~~~

Found 1 error.

+++ exited with 1 +++

6 is the directory with tsconfig.json.
Note that it actually finds and opens the marked definitions file above.
🙂 Expected behavior
It should compile fine.
Copying nm2 to node_modules in the tsconfig.json dir allows it to compile, it opens files in node_modules right after marked/package.json.
Another package, idb works fine (replacing the marked import with idb).  idb has its own typings.
With typeRoots removed, it doesn't open any files in nm2/@types.
Tangentially, if nm2 is in the current directory (not the parent directory) I get the above error plus tons of Definitions of the following identifiers conflict with those in another file regarding various typescript internal symbols.
I get the feeling that typescript requires modules to be in node_modules, but I couldn't find anything in the documentation that suggests this so I continue to cling to hope.
Edit: Forgot package.json

I get the feeling that typescript requires modules to be in node_module

You specified moduleResolution: node in the tsconfig, and node requires modules to be in node_modules.
For this scenario, you'd need to use path mapping.

Firstly, thank you for looking into this!
That doesn't make a lot of sense to me, the documentation clearly states

All module imports with non-relative names are assumed to be relative to the baseUrl.
not relative to node_modules directly underneath baseUrl.  There's no additional notes regarding baseUrl in either the Node nor Classic sections.

Furthermore it's locating the JS marked package, just not the typings (which are a TypeScript specific thing anyway, especially the @types directory, so I wouldn't expect that to be affected module resolutions).
After digging some more I found the --traceResolution flag and have some more output (here's the full output):
======== Resolving module 'marked' from 'MY_PARENT_DIR/6/src/index.ts'. ========
Explicitly specified module resolution kind: 'NodeJs'.
'baseUrl' option is set to 'MY_PARENT_DIR/nm2', using this value to resolve non-relative module name 'marked'.
Resolving module name 'marked' relative to base url 'MY_PARENT_DIR/nm2' - 'MY_PARENT_DIR/nm2/marked'.
Loading module as file / folder, candidate module location 'MY_PARENT_DIR/nm2/marked', target file type 'TypeScript'.
File 'MY_PARENT_DIR/nm2/marked.ts' does not exist.
File 'MY_PARENT_DIR/nm2/marked.tsx' does not exist.
File 'MY_PARENT_DIR/nm2/marked.d.ts' does not exist.
Found 'package.json' at 'MY_PARENT_DIR/nm2/marked/package.json'.
'package.json' does not have a 'typesVersions' field.
'package.json' does not have a 'typings' field.
'package.json' does not have a 'types' field.
'package.json' has 'main' field './lib/marked.cjs' that references 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs'.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' exist - use it as a name resolution result.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' has an unsupported extension, so skipping it.
Loading module as file / folder, candidate module location 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs', target file type 'TypeScript'.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs.ts' does not exist.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs.tsx' does not exist.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs.d.ts' does not exist.
File name 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' has a '.cjs' extension - stripping it.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cts' does not exist.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.d.cts' does not exist.
Directory 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' does not exist, skipping all lookups in it.
File 'MY_PARENT_DIR/nm2/marked/index.ts' does not exist.
File 'MY_PARENT_DIR/nm2/marked/index.tsx' does not exist.
File 'MY_PARENT_DIR/nm2/marked/index.d.ts' does not exist.
Loading module 'marked' from 'node_modules' folder, target file type 'TypeScript'.
Directory 'MY_PARENT_DIR/6/src/node_modules' does not exist, skipping all lookups in it.
Directory 'MY_PARENT_DIR/6/node_modules' does not exist, skipping all lookups in it.
Directory 'MY_PARENT_DIR/node_modules' does not exist, skipping all lookups in it.
Directory 'MY_PARENT_DIR^1/node_modules' does not exist, skipping all lookups in it.
File 'MY_PARENT_DIR^2/node_modules/marked.ts' does not exist.
File 'MY_PARENT_DIR^2/node_modules/marked.tsx' does not exist.
File 'MY_PARENT_DIR^2/node_modules/marked.d.ts' does not exist.
Directory 'MY_PARENT_DIR^2/node_modules/@types' does not exist, skipping all lookups in it.
Directory 'MY_PARENT_DIR^3/node_modules' does not exist, skipping all lookups in it.
Directory '/home/node_modules' does not exist, skipping all lookups in it.
Directory '/node_modules' does not exist, skipping all lookups in it.
'baseUrl' option is set to 'MY_PARENT_DIR/nm2', using this value to resolve non-relative module name 'marked'.
Resolving module name 'marked' relative to base url 'MY_PARENT_DIR/nm2' - 'MY_PARENT_DIR/nm2/marked'.
Loading module as file / folder, candidate module location 'MY_PARENT_DIR/nm2/marked', target file type 'JavaScript'.
File 'MY_PARENT_DIR/nm2/marked.js' does not exist.
File 'MY_PARENT_DIR/nm2/marked.jsx' does not exist.
File 'MY_PARENT_DIR/nm2/marked/package.json' exists according to earlier cached lookups.
'package.json' has 'main' field './lib/marked.cjs' that references 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs'.
File 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' exist - use it as a name resolution result.
======== Module name 'marked' was successfully resolved to 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' with Package ID<EMAIL_ADDRESS>========
======== Resolving type reference directive 'marked', containing file 'MY_PARENT_DIR/6/__inferred type names__.ts', root directory 'MY_PARENT_DIR/nm2/@types'. ========
Resolving with primary search path 'MY_PARENT_DIR/nm2/@types'.
Found 'package.json' at<EMAIL_ADDRESS>'package.json' does not have a 'typesVersions' field.
'package.json' does not have a 'typings' field.
'package.json' has 'types' field 'index.d.ts' that references<EMAIL_ADDRESS>File<EMAIL_ADDRESS>exist - use it as a name resolution result.
Resolving real path for<EMAIL_ADDRESS>result<EMAIL_ADDRESS>======== Type reference directive 'marked' was successfully resolved to<EMAIL_ADDRESS>with Package ID '<EMAIL_ADDRESS>primary: true. ========
src/index.ts:2:24 - error TS7016: Could not find a declaration file for module 'marked'. 'MY_PARENT_DIR/nm2/marked/lib/marked.cjs' implicitly has an 'any' type.
  Try `npm i --save-dev @types/marked` if it exists or add a new declaration (.d.ts) file containing `declare module 'marked';`

2 import { marked } from "marked";
                         ~~~~~~~~

Found 1 error.

This is strange, since it's clearly identifying the typings file here:
======== Type reference directive 'marked' was successfully resolved to<EMAIL_ADDRESS>with Package ID '<EMAIL_ADDRESS>primary: true. ========

This was with baseUrl and typeRoots provided as above.

It's not clear to me how paths would resolve this or how it could be used.  My reading from the documentation is that it's a way to override the lookup for specific individual packages in odd locations (and it's not indicated in the documentation if/how this affects type lookups). If so this would be a nonstandard use of the parameter in a non-intuitive way.
I tried:
"paths": {
	"*": ["*"]
}

in addition to the above config. This didn't work (found js, not types), and looks pointless (i.e. look where you're already looking).
I also tried
"paths": {
	"*": ["../nm2/*"]
}

without baseUrl or typeRoots and that also failed (same as above - located js, not types).


Documentation formatting corrections

Some docstrings did not format correctly on the Pyspark doc pages due
to missing blank lines. Added the blank lines back in to make the
documentation pages pretty again.
Corrected typo in title of notebook.

I have been trying to find "the definitive answer", but generally, the sphinx and restructured text are prevalent in the Python ecosystem.


Please describe how to bind submit button disabled state to validation IsValid

Given a /Page with an EditForm as shown in these docs, how would one bind the submit button's "disabled" attribute to the current validation status of the form?

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

ID: eef47457-c8cf-74a4-b884-c1fe5c2ef52d
Version Independent ID: 09a02d10-2834-467d-d8c2-3fd19ceb3863
Content: Blazor forms and validation
Content Source: aspnetcore/blazor/forms-validation.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @dazinator ... Check over in engineering. For example, I spotted this one ...
https://github.com/aspnet/Blazor/issues/624
Let's leave this open for triage. It might be something that DR wants this topic to show.

Thanks. I did have a search but I'll keep hunting and experimenting in the meantime ;-)

I hope this helps...
https://blogs.u2u.be/peter/post/disabling-the-submit-button-in-blazor-with-validation

I couldn't resist commenting on this:

this is an advanced scenario

This is truly a very basic and common scenario!
It's such a simple and common requirement that it definitely should be included in the docs. Scouts honour.
I mean - have you ever seen a form on the interwebs that wont let you click the submit button until all the input is valid? If you haven't I'd be very surprised. If Microsofts cutting edge, premier, shiny new UI framework is truly the stuff of legend it will have a way to cater for this - fairly easily no doubt. I can't see it anywhere though.

Some of that is engineering feedback, and I can't remark on it.
As for the rest, it was triaged, so there's no need to push the issue with so much effort. It will be worked, perhaps even this weekend. :rocket:
@mkArtakMSFT You didn't say which way to go with it ...

Cross-link to @PeterHimschoot's topic in the Additional resources section.
Incorporate something along the lines of @PeterHimschoot "Attempt 2" into the topic.

... or if it's TBD, no worries. I have a nice little pile of issues to work now, so I'm good.

@javiercn can you recommend the best option here?

@javiercn I'm up to working this. Just need to know if the topic should incorporate something along the lines of @PeterHimschoot "Attempt 2" into the topic to resolve this issue ...
https://blogs.u2u.be/peter/post/disabling-the-submit-button-in-blazor-with-validation
... or do you just want me to cross-link his whole blog post in the Additional Resources section of the topic?

@SteveSandersonMS Is probably a better person to recommend an option in this area.

@SteveSandersonMS Quick ? for this issue that I hope to resolve today ...
For enabling/disabling the submit button based on validation, do you find something similar to @PeterHimschoot's Attempt 2 (blog post) acceptable for the Forms and Validation topic?


Add specs for InvalidRecordsChecker worker

Travis passed ( https://travis-ci.org/github/davidrunger/david_runger/builds/699354717 ). Percy is slow. Merging.


No video update

Hi, I've installed Aeriel many months ago with all updates but the video are ever the same!
Any solution?
Aerial 1.4.9

Hi @axelv73
The frequency of updates depends of Apple. While they were many updates in the last months of 2018, the last one was on january 21, this is why you don't see new ones.
I expect we'll see new videos at WWDC in a couple of weeks though, so stay tuned !

I wrote because it seemed to me that I had seen a new video on AppleTV that I had never seen on Aerial...

If you do, please take a picture of it.
FYI I do use an Apple TV too and so far have not spotted a new one, but with the randomness you never know !

Closing this, please reopen with a screenshot if you see something new thanks !


📝 Documentation: Incorrect example in 'sort-collections' is correct

Bug Report Checklist

[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
In the rule details of sort-collections it now says:

The following patterns are considered errors:
{
	"scripts": {
		"lint": "eslint .",
		"start": "node server.js",
		"test": "jest"
	}
}

But it should be:

The following patterns are considered errors:
{
	"scripts": {
		"lint": "eslint .",
		"test": "jest",
		"start": "node server.js"
	}
}

Additional Info
In #113 we had the same issue at the 'order-properties' rule.

Heh, thanks - nice spot. Do you want to send a PR this time @KristjanESPERANTO?
(no worries if not, I just don't want to trample over a good contribution opportunity!)

Thank you for the opportunity! I have created a PR :slightly_smiling_face:


Vault will not decrypt. Help?

I encrypted the vault, no problem, I even saved the password I set.
But it won't let me decrypt the vault under any circumstances.
Unless someone helps me out, I'll have to manually recover each file version from google drive.
I'm assuming the decrypt password is the same as the encrypt password, right?
Thanks a lot!

Hi, I'm sorry to hear you're having trouble. Could you tell me what happens
when you try decrypting?
You are correct, the decrypt password must be the same as the encrypt
password.
This is working properly and tested here:
https://github.com/triumphantomato/cryptsidian/blob/d7071cd4666a0ab1ffd0ec6b69a75a78a9e2cab5/test/cryptsidian_tests.mjs#L178
Unfortunately, this means there must be a difference between the password
you used for encryption and the one used for decryption.
If you have already attempted a decrypt and it failed, then you will need
to recover from backups made before attempting decryption.
Right now the code does not test to match passwords before attempting
decryption, it just applies the password you have provided.
Let me know if you have any other questions.
On Wed, Jan 3, 2024, 8:03 AM tzugme @.***> wrote:

I encrypted the vault, no problem, I even saved the password I set.
But it won't let me decrypt the vault under any circumstances.
Unless someone helps me out, I'll have to manually recover each file
version from google drive.
I'm assuming the decrypt password is the same as the encrypt password,
right?
Thanks a lot!
—
Reply to this email directly, view it on GitHub
https://github.com/triumphantomato/cryptsidian/issues/19, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV5GY6DZQ7WHP7DOPAUGFRDYMV6MVAVCNFSM6AAAAABBLUO2OKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA3DIMRXGU4TQOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Wow, thanks for the quick reply. I'll have to restore the files manually, but eh, at least they are not lost.
However, I would suggest an interface change.
The Enable/Disable password protection toggle is not properly explained, it requests one password and doesn't tell you if it is the encrypt AND/OR decrypt password
It's very confusing to use, doesn't prompt you with a dialogue box to set a password from the start.
Maybe I'm just not getting something, but even now, after toggling the switch, confirming I typed the password right, and setting it again, I'm not sure where you would set different encrypt and decrypt passwords.

Thank you, this is helpful feedback! I will add this to the list for v2
upgrades.
On Wed, Jan 3, 2024, 8:55 AM tzugme @.***> wrote:

Wow, thanks for the quick reply. I'll have to restore the files manually,
but eh, at least they are not lost.
However, I would suggest an interface change.
The Enable/Disable password protection toggle is not properly explained,
it requests one password and doesn't tell you if it is the encrypt AND/OR
decrypt password
It's very confusing to use, doesn't prompt you with a dialogue box to set
a password from the start.
Maybe I'm just not getting something, but even now, after toggling the
switch, confirming I typed the password right, and setting it again, I'm
not sure where you would set different encrypt and decrypt passwords.
—
Reply to this email directly, view it on GitHub
https://github.com/triumphantomato/cryptsidian/issues/19#issuecomment-1875677332,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV5GY6GLZMBWS2RN32NHTCDYMWERDAVCNFSM6AAAAABBLUO2OKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZVGY3TOMZTGI
.
You are receiving this because you commented.Message ID:
@.***>


Can not compress response json uses jsonify

Expected Behavior

I am using docker with python3, I'd like to compress response json uses jsonify but not luck.
Refs: https://github.com/colour-science/flask-compress
// Code
...
from flask_compress import Compress
...
app = Flask(__name__)
CORS(app)
Compress(app)

Expect:
{ "success": true,  "data": {}}

Actual Behavior
{
  "success": true,
  "data": {}
}

Environment

Python version: Docker python3.7
Flask version: 1.1.1
Werkzeug version: Unknown

That's not compression. gzip transport encoding is usually transparent. look at the headers your client receives instaed.
also, this is not related to flask in any case but rather flask-compress

@ThiefMaster Thank you!


Standardize annotation category for "Best Practices"

Annotation for category is inconsistent. Some with "Best Practice" others with "Best Practices". Fix.

this has been fixed.


API for working with files inside a container

For some tests, verifying the contents of files written by the buildpack (or other tooling during the build process) is required. ContainerContext should be extended to allow downloading files from the container. For example:
fn get_file(path: AsRef<str>) -> Result<TempFile, _>

Another way to inspect files would also be via #309 (which we'll need regardless). It might be we want to wait to hear about use-cases for this issue, before spending too much time implementing (in case they are pretty rare and/or mostly satisfied by #309).

@Malax Do we still need this given we now have libcnb-test APIs for running arbitrary commands against containers? (eg cat then inspect log output etc).


Double click code to select it

Description
When double clicking inline code it would be great to select all of the contents of that inline code scope. Ready for copying.
Behavior not required for code blocks as they have their own copy button.
Benefits
A lot of bookstack users use it for documenting their own infrastructure or other software applications and as such a convenience feature such as this helps when copying and pasting inline code blocks.
Hard to provide a measurable benefit. Anecdotally it would have been useful recently when I had to redeploy a service which had a bunch of manual copying settings into a Web GUI.
I also write beginner guides that I share with my friends, there is often a lot of copying and pasting in those scenarios.
Additional context
Below is a script I use in confluence to provide the same feature. It doesn't seem to work in the Custom HTML Head Content of  bookstack. Not sure why.
var inline_code_elems = document.getElementsByTagName("code")

for (var i = 0; i < inline_code_elems.length; i++) {
    inline_code_elems[i].addEventListener('dblclick', hiLite, false);
}

function hiLite(event) {
    var range = document.createRange();
    var selection = window.getSelection();
    range.selectNodeContents(event.target);
    selection.removeAllRanges();
    selection.addRange(range);
    e.stopPropagation();
}

Hi @ark-,
Thanks for the suggestion.
This is already open under #1612 therefore I'm going to close this off as a duplicate.


Use a pure JVM implementation for CVS access

Like NetBeans' cvsclient library used by maven-scm-providers-cvs, to get rid of the dependency on the external cvs command line tool.

Not planned anymore as CVS support has been removed in https://github.com/oss-review-toolkit/ort/pull/6932.


Fix browser example configuration

see https://github.com/electric-sql/typescript-client/pull/26

[x] update migrations after https://github.com/electric-sql/typescript-client/pull/25 is merged
[ ] bump typescript client version

I suppose from the comment it is just with the PR.
Please:

[ ] merge the first one when ready
[ ] make a new release
[ ] update the examples in this PR to use the new release

@balegas think this is now good to go

Is this good to merge?

All good from my side Garry. Please merge.


Unexpected behavior on certain inputs

I recently started playing around with pick (1.6.1) and it's fantastic! I discovered some weird behavior while messing around with it.
Here is an example: pick -h | pick. Running this initially results in a blank screen but as characters are inputted, the current string is duplicated until it reaches the top of the screen.
Piping in pick -h is probably not a typical use case, but the behavior that results is strange.
EDIT: I am running macOS 10.12.5, if this helps at all.

This might be related to issue #62 ?

Hey @EpicDavi, thanks for trying out pick. I'm happy you like it!
When running pick -h | pick from the shell, the stdout stream of pick -h will be connected to the stdin stream of pick. Since pick -h outputs the usage message to stderr rather than to stdout, this passes no results to pick. That should explain the black screen you see.
To exit pick you can press Ctrl-C. When you do, you should see the usage message that pick -h printed to your terminal (which was attached to its stderr). You can also type something while pick is running and press Alt-Enter to have pick output that when exiting.

as characters are inputted, the current string is duplicated until it reaches the top of the screen.

Could you elaborate on this? Maybe upload a screen recording? This does sound like a bug but I can't reproduce it on macOS 10.12.5 running pick from bash in Terminal. Are you running a different shell or terminal emulator?

Just tried it on another machine (macOs 10.12) and am having the same issue.
However, I tried it on the built-in Terminal (instead of iTerm2) and the issue no longer occurs. This makes me think it is an issue with iTerm2 (3.0.15)?
Anyways, here is what the issue looks like, if you are curious: https://asciinema.org/a/xqJPG5vAVHkkIvNdblbiOuKDJ

Thanks for the report, I'm able to reproduce this using xterm(1):
$ pick </dev/null

Please try out #198 and see if it solves the problem.

Fix has been merged, closing for now.


MM-36756 Add new component for positioning SuggestionList in RHS

This code is for deciding whether or not the SuggestionList in the RHS should open upwards or downwards. The previous version did this by accessing the DOM in the render method which is against good Redux practices, but it also had performance impacts since accessing the DOM is slow. The new RhsSuggestionList component only does this whenever the list is opened.
This also required moving some of the logic that positions the SuggestionList relative to the keyboard caret when the user is typing since that relied on knowing which direction the SuggestionList would open. It now provides some more information to the SuggestionList that it can use for doing the calculations itself.
Ticket Link
https://mattermost.atlassian.net/browse/MM-36756
Release Note
NONE

I've fixed all that. I'm kind of concerned with how it ended up not working when I definitely tested this. Hopefully I just broke something when splitting it off from the followup PR.


Narrow discriminated union based on generic function arguments

Suggestion
🔍 Search Terms
narrowing, generic, arguments
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
In a few different projects, I've wanted to write a wrapper function that takes as arguments

A discriminating union
A literal discriminator
A callback function which accepts the narrowed type from the union

To be more specific, I wanted to be able to do something like this:
interface Thing {
  key: "bar";
  property1: number;
}

interface OtherThing {
  key: "baz";
  property2: string;
}

type Things = Thing | OtherThing;

type NarrowedThing<A, K> = A extends { key: K } ? A : never;

const narrowingFunction = <T extends Things, K extends T["key"]>(
  thing: T,
  key: K,
  callback: (thing: NarrowedThing<T, K>) => void
) => {
  if (thing.key === key) {
    callback(thing); // Type 'Thing' is not assignable to type 'NarrowedThing<T, K>'.(2345)
  }
};

const maybeThing: Things = {
  key: "bar",
  property1: 2,
};

narrowingFunction(maybeThing, "bar", (narrowedThing: Thing) => {
  console.log(narrowedThing.property1);
});

Now it may be that my understanding of TypeScript is too limited to understand what is possible here, but it seems to me that it would be correct for thing to be automatically narrowed to something like my NarrowedThings type
📃 Motivating Example
I recently tried to write a small library to simplify the handling of AWS EventBridge events in a way that allowed you to provide handler functions and cleanly narrowed the types. The API looked a little like this:
const { step, execute } = initPipeline(event);

// Both 'processor' variables below are handler functions that
// take a single event object narrowed to the correct type using the
// string that is passed in argument one as a discriminator
execute(
  step('EventOne', eventOneProcessor),
  step('EventTwo', eventTwoProcessor),
)

Under the hood, this API is just an abstraction over the simple 3 argument function I describe above. In order to narrow the type I had to write a custom type guard as there appeared to be no way for TypeScript to narrow arguments that were typed with generics.
💻 Use Cases
I've also wanted something like this when handling redux actions within a reducer - I can see libraries such as ts-pattern making use of this  under the hood. As I note above, it is perfectly possible to implement this with a custom type guard, but it seems to me that everything that is needed to safely narrow the type is known at build time so a custom guard shouldn't be necessary.

The example as written is pretty tough; I'm not sure how we could do that.
A possibly tractable (and functionally equivalent version) would be
const narrowingFunction = <T extends Things, K extends T["key"]>(
  thing: T,
  key: K,
  callback: (thing: T & { key: K }) => void
) => {
  if (thing.key === key) {
    callback(thing); // Type 'Thing' is not assignable to type 'NarrowedThing<T, K>'.(2345)
  }
};

The relationship between the comparison and the narrowing is more clear here -- thing.key === key is an easy-to-see proof that thing is T & { key: K } and the call should be legal.

@RyanCavanaugh I've just played with that in the playground; I'm fairly sure that this satisfies the use case I was trying to articulate :)

@RyanCavanaugh if I wanted to have a go at implementing this myself, what areas of the codebase would I need to
look at?
I appreciate that it might be beyond me as a new contributor, but I'd be interested in at least having a poke to see if it's doable

I'd also like to have a go at this if possible, or at least get an update on whether this is on the roadmap.  Here's a similar case:
// Pretty simple discriminated union...

type ShapeType = 'circle' | 'square';

type Circle = {
    type: 'circle';
    radius: number;
}

type Square = {
    type: 'square';
    width: number;
}

type Shape = Circle | Square;

// What if we want a generic factory?
// It would be really cool if the compiler could infer this return type from the function implementation
// Even with the explicit conditional return type, there are problems...
const shape = <T extends ShapeType>(type: T, size: number): T extends 'circle' ? Circle : T extends 'square' ? Square : Circle | Square => {
    switch(type) {
        case 'circle':
            // Ideally the compiler would be smart enough to narrow T here
            return { type: 'circle', radius: size };
        case 'square':
            // and here
            return { type: 'square', width: size };
        default:
            throw new Error ("invalid shape type");
    }
}

// From the outside, though, this seems to work correctly:

// Basic usage results in correct inference/typing
let circle = shape('circle', 5);
let square = shape('square', 5);

// Reasonably infers union type if key is uncertain
let isCircle = false;
let maybeCircle = shape(isCircle ? 'circle' : 'square', 5);

Any thoughts of the feasibility of making the inferred function type behave better here along with fixing the issue?

It kind of seems to me like the original code should work, but the issue can be worked around using the & operator, leading to much simpler code:
type NarrowedThing<K> = Things & { key: K };

const narrowingFunction = <K extends Things["key"]>(
  thing: NarrowedThing<K>,
  key: K,
  callback: (thing: NarrowedThing<K>) => void
) => {
  if (thing.key === key) {
    callback(thing);
  }
};

On the other hand, the same idea doesn't work on @Oblarg's example. This still fails:
const shape = <T extends Shape['type']>(type: T, size: number): Shape & { type: T } => {
  switch (type) {
    case 'circle':
      return { type, radius: size };
    case 'square':
      return { type, width: size };
    default:
      throw new Error("invalid shape type");
  }
}

I think the original example also fails for another unrelated reason, because the switch statement here also breaks, but it works if the literal variables in the return statements are replaced with type:
const classify = <T extends Shape['type']>(type: T): T => {
  switch (type) {
    case 'circle':
      return 'circle';
    case 'square':
      return 'square';
    default:
      throw new Error("invalid shape type");
  }
}


Seed Support

Add seed generation function for backup of wallet vs the current default_wallet file being the only restore option.

@ocnios Awesome stuff! But I think it needs to be rebased on to the current copy of master. If you have any questions please tag @alexliebowitz.

@ocnios please create a separate branch that only includes your code, then rebase that branch onto master. as this PR is now, its impossible to review or merge in. thanks :-)

I'm closing this. Please open a new PR with just your code.


Instructions on how to use core Stan directly in C++

Description:
We need some easy to follow instructions on how to use the core Stan inside a user-written C++ program. See https://github.com/stan-dev/stan/issues/3085 for example.
The instruction can simply guide through the task of compiling one of the models and running MCMC with the services. The biggest challenges are typically all the dependencies that we need to include in the C++ compiler calls.
Current Version:
v2.28.1

Has any progress been made on this issue? I'm looking to use a Stan model directly in a C++ program, without parsing a csv from CMDSTAN, and this issue is all I've been able to find

Great, thank you! This seems like exactly what I need


fix: Add redirect for VSTS support link

Not sure this is correct. The old link is dead, and I found the new one through the Support menu on the portal.

@nschonni See https://github.com/MicrosoftDocs/vsts-docs/pull/694

Not sure if the search always catches everything https://github.com/MicrosoftDocs/vsts-docs/search?utf8=✓&q=https%3A%2F%2Fwww.visualstudio.com%2Fteam-services%2Fsupport-visual-studio-team-services&type=


New API endpoint for retrieving typology data

Description
PR 3 of 4 to implement Student Typology / Trajectory.
This provides access to the new analytics API added in https://github.com/edx/edx-analytics-data-api/pull/83 , and defines some constants used to understand the data values.
Dependencies:

https://github.com/edx/edx-analytics-pipeline/pull/142
https://github.com/edx/edx-analytics-data-api/pull/83

Partner information: not an edX partner - 3rd party-hosted open edX instance
Reviewers: @itsjeyd and TBD

@bradenmacdonald Left one small comment to address, otherwise this looks great! :+1:


KeyError: 'Unsupported format password'

Per the Swagger Docs Data Types, a string can use the format password, however, it appears that the validation done by opyapi causes an error.
As far as I can tell, the only thing the password format is a hint for the UI to mask the data so it may have been a deliberate decision to not enable password formats. If it's not a deliberate decision, I'm happy to take a stab at fixing it.

I had a chat with our team and we'll contribute by submitting a potential fix for this.


Missing argument 1 for alternator()

In userguide:

To use multiple separate calls to this function simply call the function with no arguments to re-initialize.

But in string_helper there is:
	function alternator($args)

Please change it with
	function alternator()

Thanks

Your suggestion would break alternator(). If you are looking for method/function overloading, not supported in PHP.
What is missing is a unit test for alternator() in the string_helper.

Wouldn't break it ... the declared parameter is ignored and the function uses func_get_args() instead.

Thanks


Make test more flexible for new args from vm

@jason-simmons

Landing this on red to help fix the roll.


Directory creation/rights issues

sudo -u www-data composer update -d /var/www/22222/htdocs/db/pma/  is not able to create the cache subdirectories composer needs.

Hello @TerenceMilbourn ,
I haven't found the time to optimize this command yet, mostly because composer update is working properly without cache (it's probably slower).
Feel free to suggest another way to proceed. At the beginning, I was running the command composer as root before using chown -R www-data-:www-data /var/www/22222/htdocs to set back www-data as folder's owner.

Hi @VirtuBox -- I did the exact same thing in changing the ownership and wasn't able to get the cache working, which is why I wrote in here.  Sorry but I don't know where tio go from here.

Issue has been fixed :
chown www-data:www-data /var/www
sudo -u www-data -H composer update -d /var/www/22222/htdocs/db/pma/

Cool.  I know its only at beta-3 so far, but how much of what you are doing are planning to move over to EE version 4.x?

At the moment, I'm not planning to migrate to EE 4.x, because I'm using EE on servers running in production, and I will have to make sure there are no issues with EE 4.x and to see if the troubleshooting isn't harder with Docker.


Could not determine loop bound at compile-time

Aim
Implementing the slice method for the Tensor struct through recursion.
Expected Behavior
This slice should be able to compile and run successfully, returning an array of a specified length.
Bug
error: Could not determine loop bound at compile-time
   ┌─ /code/convolution/test/tensor_slice/src/main.nr:96:25
   │
96 │             for n in 0..sub_result_len {
   │                         --------------
   │
   = Call stack:
     1. /code/convolution/test/tensor_slice/src/main.nr.nr:109:22
     2. /code/convolution/test/tensor_slice/src/main.nr.nr:58:32
     3. /code/convolution/test/tensor_slice/src/main.nr.nr:95:30
     4. /code/convolution/test/tensor_slice/src/main.nr.nr:96:25

Error: Aborting due to 1 previous error

Location:
    crates/nargo_cli/src/cli/mod.rs:91:5

To Reproduce
1.git clone https://github.com/storswiftlabs/convolution.git
2.cd convolution/test/tensor_slice
3.nargo execute
Installation Method
Compiled from source
Nargo Version
nargo 0.11.1 (git version hash: 9da822f59923a9953894c43afd1ddbeffa871dbf, is dirty: false)
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

Running with version 0.9.0 of nargo results in another error:
The application panicked (crashed).
Message:  assertion failed: `(left == right)`
  left: `Id(51)`,
 right: `Id(84)`: Expected two blocks to join to the same block
Location: crates/noirc_evaluator/src/ssa/opt/flatten_cfg/branch_analysis.rs:78

This is a bug. We may have already fixed this in newer versions of Nargo so try searching for similar issues at https://github.com/noir-lang/noir/issues/.
If there isn't an open issue for this bug, consider opening one at https://github.com/noir-lang/noir/issues/new?labels=bug&template=bug_report.yml

Apologies for the delay in responding to this issue. As of the most recent commit on master, the original error (but not the follow up comment) is still present. The compiler currently has trouble dealing with mutable values used in for loop ranges since being used in a for loop range means the value must be known at compile-time - specifically before the loop unrolling step - while being mutable means we require a separate pass to determine it's current value at each point in the program.
The program you gave is a somewhat tough case in this where we'd have to unroll the first loop where sub_result_len is assigned to, then run the pass to handle mutability, then resume the unrolling pass now that the value of sub_result_len is known. This isn't possible currently, hence the error.

This seems like it would have been fixed by #4779. Feel free to reopen if you're still running into issues.