sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: pytorch
Issue: Add `ldl_unpack` functionality
Labels: feature,triaged,module: linear algebra

### 🚀 The feature, motivation and pitch

Recently LDL factorization and solver were added to `torch.linalg` with https://github.com/pytorch/pytorch/pull/69828. The factorization is stored in the packed format in a single matrix. Similar to `torch.lu` and `torch.lu_unpack` we need to unpack the `LD` factors into (possibly permuted) lower triangular matrix `L` and tridiagonal matrix `D` matrices so that it's easier to implement derivative rules.

In LAPACK there's a function for this conversion, `syconv`, ([netlib docs](http://www.netlib.org/lapack/explore-html/d3/db6/group__double_s_ycomputational_ga03e63781ce348cc17a7065520bc7dc1a.html#ga03e63781ce348cc17a7065520bc7dc1a), [mkl docs](https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-fortran/top/lapack-routines/lapack-auxiliary-routines/syconv.html)).
>The routine converts matrix A, which results from a triangular matrix factorization, into matrices L and D and vice versa. The routine returns non-diagonalized elements of D and applies or reverses permutation done with the triangular matrix factorization.

The proposal is to expose this functionality as `torch.linalg.ldl_unpack(Tensor LD, Tensor pivots, *, bool hermitian=False) -> (Tensor P, Tensor L, Tensor D)`

### Alternatives

_No response_

### Additional context

There's a SciPy function, [`scipy.linalg.ldl`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.ldl.html), that returns the uncompressed representation of the LDL factorization.

cc @jianyuh @nikitaved @pearu @mruberry @walterddr @IvanYashchuk @xwang233 @Lezcano
Repository: godot
Issue: TileMap can't render batched tiles when using Light2D
Labels: topic:rendering,topic:2d,performance

### Godot version

3.x

### System information

Windows 10, GLES3

### Issue description

`TileMap`'s `fp_adjust` oversizes every tile producing subtle scaling artifacts when rendering and, more importantly, prevents any batching when using `Light2D`. Without batching this scenario produces thousands of draw calls when it should otherwise be fine (since tiles in the general case never intersect).

https://github.com/godotengine/godot/blob/5c79239e122fe570b9e78a594c76620730c428e3/scene/2d/tile_map.cpp#L478

https://github.com/godotengine/godot/blob/5c79239e122fe570b9e78a594c76620730c428e3/drivers/gles3/rasterizer_canvas_gles3.cpp#L1826

### Steps to reproduce

1. Create a `TileMap` and fill it with a large rectangle of tiles (the same tile preferably).
2. Observe minimal draw calls.
3. Create a `Light2D` that lights a good portion of the `TileMap`.
4. Observe thousands of draw calls.
5. Set `fp_adjust` to 0. Recompile.
6. Observe a significant (~5x?) reduction in draw calls. (In my tests I went from 1000 -> 200; this obviously wont scale linearly).

### Minimal reproduction project

_No response_
Repository: vscode
Issue: Custom protocols aggressively cache subresources
Labels: network,papercut :drop_of_blood:

* run `scripts/code.sh`
* change a CSS file
* reload window
* CSS change isn't reflected

https://user-images.githubusercontent.com/1794099/166214372-e37c5ae1-f673-4f72-ac14-8cc1593efa83.mov
Repository: neovim
Issue: If the error type is not a string or number in luv callback will crash
Labels: has:repro,bug-crash,lua

### Neovim version (nvim -v)

0.7.0

### Vim (not Nvim) behaves the same?

no

### Operating system/version

ArchLinux

### Terminal name/version

Alacritty

### $TERM environment variable

alacritty

### Installation

build from repo

### How to reproduce the issue

1. `nvim --clean -u crash.lua`


`cat crash.lua`
```lua
local Error = {}
Error.__index = Error

function Error.new(msg)
    local o = setmetatable({}, Error)
    o.msg = msg
    return o
end

function Error:__tostring()
    return tostring(self.msg)
end

local function setTimeout(ms)
    local timer = vim.loop.new_timer()
    timer:start(ms, 0, function()
        timer:stop()
        timer:close()
        error(Error.new('timeout'))
        -- error() also crash
    end)
    return timer
end

setTimeout(1000)
```

### Expected behavior

print `timeout`

### Actual behavior

crash
Repository: rust
Issue: Suggest `as _` when type coercion is not allowed
Labels: A-diagnostics,T-compiler

I was working on some code which here is a minimized equivalent: ([playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=f6bcb9831f819220401cdae0576340fc))
```rust
fn main() {
    let x: Box<dyn Iterator<Item = Box<dyn Iterator<Item = i32>>>>;
    x = Box::new(iter::once(Box::new(iter::empty())));
}
```
Which doesn't compile:
```
error[[E0271]](https://doc.rust-lang.org/stable/error-index.html#E0271): type mismatch resolving `<std::iter::Once<Box<std::iter::Empty<_>>> as Iterator>::Item == Box<dyn Iterator<Item = i32>>`
 [--> src/main.rs:5:9
](https://play.rust-lang.org/#)  |
5 |     x = Box::new(iter::once(Box::new(iter::empty())));
  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected trait object `dyn Iterator`, found struct `std::iter::Empty`
  |
  = note: expected struct `Box<dyn Iterator<Item = i32>>`
             found struct `Box<std::iter::Empty<_>>`
  = note: required for the cast to the object type `dyn Iterator<Item = Box<dyn Iterator<Item = i32>>>`
```
At first I thought it is a compiler bug/limitation, but after reading about type coercions, it seems like it is working as intended. It would be great if compiler suggest adding an `as _` here:
```rust
fn main() {
    let x: Box<dyn Iterator<Item = Box<dyn Iterator<Item = i32>>>>;
    x = Box::new(iter::once(Box::new(iter::empty()) as _));
}
```
Repository: rust
Issue: `rust-dev` LLVM artifacts are corrupt on FreeBSD 13
Labels: A-LLVM,E-help-wanted,O-freebsd,T-bootstrap

On a fresh (x86-64) FreeBSD installation, running `./x.py build library/std` results in a segfault:

```
# ./x.py build library/std
Updating only changed submodules
  Submodules updated in 0.01 seconds
extracting /root/rust/build/cache/2022-04-05/rust-std-beta-x86_64-unknown-freebsd.tar.xz
extracting /root/rust/build/cache/2022-04-05/rustc-beta-x86_64-unknown-freebsd.tar.xz
extracting /root/rust/build/cache/2022-04-05/cargo-beta-x86_64-unknown-freebsd.tar.xz
extracting /root/rust/build/cache/2022-04-05/rustfmt-nightly-x86_64-unknown-freebsd.tar.xz
Building rustbuild

[...]

    Finished dev [unoptimized] target(s) in 16.78s
Building stage0 std artifacts (x86_64-unknown-freebsd -> x86_64-unknown-freebsd)

[...]

   Compiling test v0.0.0 (/root/rust/library/test)
    Finished release [optimized] target(s) in 24.57s
Copying stage0 std from stage0 (x86_64-unknown-freebsd -> x86_64-unknown-freebsd / x86_64-unknown-freebsd)
extracting /root/rust/build/cache/llvm-1388b38c52d1ca9fbc80bf42fa007504fb0b1b41-false/rust-dev-nightly-x86_64-unknown-freebsd.tar.xz to /root/rust/build/x86_64-unknown-freebsd/ci-llvm
Building stage0 compiler artifacts (x86_64-unknown-freebsd -> x86_64-unknown-freebsd)

[...]

   Compiling rustc-main v0.0.0 (/root/rust/compiler/rustc)
    Finished release [optimized] target(s) in 1m 41s
Copying stage0 rustc from stage0 (x86_64-unknown-freebsd -> x86_64-unknown-freebsd / x86_64-unknown-freebsd)
Assembling stage1 compiler (x86_64-unknown-freebsd)
Building stage1 std artifacts (x86_64-unknown-freebsd -> x86_64-unknown-freebsd)
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `/root/rust/build/bootstrap/debug/rustc - --crate-name ___ --print=file-names -Csymbol-mangling-version=legacy -Zunstable-options -Zunstable-options '--check-cfg=names()' '--check-cfg=values()' '--check-cfg=values(bootstrap)' '--check-cfg=values(stdarch_intel_sde)' '--check-cfg=values(no_fp_fmt_parse)' '--check-cfg=values(no_global_oom_handling)' '--check-cfg=values(freebsd12)' '--check-cfg=values(backtrace_in_libstd)' '--check-cfg=values(target_env,"libnx")' '--check-cfg=values(target_os,"watchos")' '--check-cfg=values(target_arch,"asmjs","spirv","nvptx","nvptx64","le32","xtensa")' '--check-cfg=values(dont_compile_me)' -Zmacro-backtrace -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Csplit-debuginfo=off -Cprefer-dynamic -Cembed-bitcode=yes '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/")' --target x86_64-unknown-freebsd --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 254)
  --- stderr
  rustc exited with signal: 11 (core dumped)
Build completed unsuccessfully in 0:02:46
Repository: create-react-app
Issue: Failed to minify the bundle. Error: static/js/main.11d9e94b.js from UglifyJs 
Labels: needs triage

Getting this issue while building app after development previously it was working

Failed to compile.
Failed to minify the bundle. Error: static/js/main.11d9e94b.js from UglifyJs
Unexpected token: name (Masonry) [static/js/main.11d9e94b.js:424041,6]
Repository: PowerToys
Issue: [KBM] "Ctrl+Tab" mapping to "Alt+Tab" doesn't work consistently
Labels: Issue-Bug,Product-Keyboard Shortcut Manager,Priority-1

### Microsoft PowerToys version

0.57.2

### Running as admin

- [X] Yes

### Area(s) with issue?

Keyboard Manager

### Steps to reproduce

我将键盘上的ctrl+tab和alt+tab互换了，但是这个重映射时不时出现问题，无法使用，解决方法只有重启电脑。但是还是会复发。
[PowerToysReport_2022-05-02-19-32-25.zip](https://github.com/microsoft/PowerToys/files/8602523/PowerToysReport_2022-05-02-19-32-25.zip)


### ✔️ Expected Behavior

本来应该是按下ctrl+tab进行窗口切换，但是并不能

### ❌ Actual Behavior

本来应该是按下ctrl+tab进行窗口切换，但是并不能

### Other Software

_No response_
Repository: vscode
Issue: Show bracket pair colorization enabled in token inspector
Labels: feature-request,bracket-pair-colorization

maybe it could be helpful to show a notice in the token inspector that the selected token got colored by the bracket colorization feature?

_Originally posted by @hediet in https://github.com/microsoft/vscode/issues/148405#issuecomment-1113500409_
Repository: pytorch
Issue: `torch.sort` does not exploit parallelization when invoked without the `dim` parameter.
Labels: module: performance,feature,module: cpu,triaged,module: sorting and selection

### 🐛 Describe the bug

At cpu, `torch.sort` is so slow that it is even slower than convulutional layers. I remembered that `torch.sort` is O(Nlog(N)) complexity. Convolutional layer should be heavier than that.
Here is the code
```
 
import torch
import torch.nn as nn
import torch.multiprocessing as mp
import torch.distributed as dist
import torch.nn.functional as F
from torchvision.models import mobilenet_v2
import time
input = torch.rand([64,3,224,224])
conv2d = torch.nn.Conv2d(3,32,(3,3),stride= (2,2), padding = (1,1),bias= False)
time_sort_avg = 0.0
time_conv_avg = 0.0
for i in range(2):
    print(i)
    start =time.time()
    output = conv2d(input)
    time_conv = time.time() -start
    output = output.view(-1)
    start =time.time()
    sorted,index = torch.sort(output)
    time_sort = time.time() -start
    time_sort_avg += time_sort
    time_conv_avg += time_conv
print("sort time avg:",time_sort_avg/2)
print("conv time avg:",time_conv_avg/2)
```
The reslut on my cpu is 
```
sort time avg: 3.3030941486358643
conv time avg: 0.06574046611785889
```
Why is this happening?

### Versions

pytorch 1.12.0


cc @VitalyFedyunin @ngimel
Repository: pytorch
Issue: [feature request] no-param sort to exploit parallelization
Labels: module: performance,module: cpu,triaged,module: multithreading,module: sorting and selection

### 🚀 The feature, motivation and pitch

'torch.sort' can not execute parallel when there is only one dimention of tensor. I hope you could make it faster when we try to sort 1 dimention tensors.


### Alternatives

Maybe you could implement merge sort or other parallel sorting algorithms

### Additional context

https://github.com/pytorch/pytorch/issues/76654
I have a report and code here
```
import torch
import torch.nn as nn
import torch.multiprocessing as mp
import torch.distributed as dist
import torch.nn.functional as F
from torchvision.models import mobilenet_v2
import time
input = torch.rand([64,3,224,224])
conv2d = torch.nn.Conv2d(3,32,(3,3),stride= (2,2), padding = (1,1),bias= False)
time_sort_avg = 0.0
time_conv_avg = 0.0
for i in range(2):
    print(i)
    start =time.time()
    output = conv2d(input)
    time_conv = time.time() -start
    output = output.view(-1)
    start =time.time()
    sorted,index = torch.sort(output)
    time_sort = time.time() -start
    time_sort_avg += time_sort
    time_conv_avg += time_conv
print("sort time avg:",time_sort_avg/2)
print("conv time avg:",time_conv_avg/2)
```

cc @VitalyFedyunin @ngimel
Repository: terminal
Issue: [Settings - Startup]: Keyboard focus is going on 'Startup' heading which is a non-interactive control.
Labels: Issue-Bug,Area-Accessibility,Product-Terminal,Priority-3,HCL-E+D,A11yWCAG,HCL-WindowsTerminal,A11yCO,A11ySev3

### Windows Terminal version

1.13.10984.0

### Windows build number

22598.200

### Other Software

**Test Environment:**
**OS:** Windows 11 Version 21H2 (OS Build 22598.200)
**Screen Reader:** Narrator.

### Steps to reproduce

**Repro Steps:**
Open Windows Terminal.
Open Settings page using "Ctrl + ',' ".
Verify that Keyboard focus is going on 'Startup' heading which is a non-interactive control.

**User Experience: -> Priority 1**
Users with motor impairments who rely on keyboard will get confused if Keyboard Focus is going to non-interactive elements as well.

**Note:**
Issue is repro for all the tab items.

**Guideline Reference:**
https://www.w3.org/WAI/WCAG21/Understanding/focus-order.html

**Attachments:**

[Keyboard.focus.is.going.on.Startup.heading.which.is.a.non-interactive.control.zip](https://github.com/microsoft/terminal/files/8610267/Keyboard.focus.is.going.on.Startup.heading.which.is.a.non-interactive.control.zip)


### Expected Behavior

Keyboard focus should not move to 'Startup' heading which is a non-interactive control.

### Actual Behavior

Keyboard focus is going on 'Startup' heading which is a non-interactive control.
Repository: pytorch
Issue: Clarify dependency on NumPy (related to maskedtensor?)
Labels: triaged

### 🐛 Describe the bug

I installed torch cpu version on a new python3.8 ubuntu 20.04 system via pip. From what I understood, it did not install NumPy as dependency.

When I import torch, I get:
```
/usr/local/lib/python3.8/dist-packages/torch/_masked/__init__.py:223: UserWarning: Failed to initialize NumPy: numpy.core.multiarray failed to import (Triggered internally at  ../torch/csrc/utils/tensor_numpy.cpp:68.)
  example_input = torch.tensor([[-3, -2, -1], [0, 1, 2]])
```

This has a lot of confusing details. If NumPy is needed, it should be specified as pip dependency and installed automatically.

If it's not strictly required, I propose that either no warning is shown on import or the warning is more clear: remove the file paths, line number, example tensor and clearly explain why NumPy is needed + point to URL that explains all the details clearly.

I think that it's not strictly needed and that maybe something about this was forgotten during maskedtensor integration.

On testing note: there should be a test of PyTorch install and import on systems without numpy to check that all works 

cc @ezyang @gchanan @zou3519 @malfet

### Versions

1.11.0+cpu
Repository: vscode
Issue: Keep the current reference search results and open new reference in new view
Labels: feature-request,references-viewlet

<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- Please search existing issues to avoid creating duplicates. -->

<!-- Describe the feature you'd like. -->
Visual studio has this feature described in https://docs.microsoft.com/en-us/visualstudio/ide/finding-references?view=vs-2022.

`Keep the current search results window by choosing the Keep Results button. When you choose this button, the current search results stay in this window, and new search results appear in a new tool window.`

It is quite common to keep multiple reference(different function) search results when reading codes. I can't find any method to keep reference result in vscode.
Repository: pytorch
Issue: Remove all docstrings when python is running in optimization mode
Labels: module: performance,module: docs,triaged,better-engineering,module: python frontend

## Issue description
Follow up of #76034.

There are docstrings still present in *pyc files when python is run in optimization mode (`-OO`). 

## Code example

```python
$ /usr/local/bin/python3.9 -OO
Python 3.9.2 (default, Mar 26 2021, 21:58:27) 
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> help(torch.nn.Conv1d)
```

This has to be separately handled.

Current *pyc file size for pytorch:

1. Without optimization
```bash
$ find . -type f -name '*39.pyc' -exec du -ch {} + | grep total$ 
12M	total
```
2. With optimization (`-O`)
```bash
$ find . -type f -name '*39.opt-1.pyc' -exec du -ch {} + | grep total$
5.3M	total
```
3. With optimization (`-OO`)
```bash
$ find . -type f -name '*39.opt-2.pyc' -exec du -ch {} + | grep total$
3.9M	total
```

I don't see any noticeable time difference while importing torch.

cc @VitalyFedyunin @ngimel @brianjo @mruberry
Repository: tauri
Issue: High memory usage when invoking commands [bug] 
Labels: type: bug

### Describe the bug

High memory usage when sending lots of commands for rust from js.

### Reproduction

Invoke a command in an interval:
```js
setInterval(() => {
  invoke<number[][]>('get_data', args).then(drawOnHtmlCanvasElement)
}, 50)
```

Return large amount of data from rust to js:
```rs
#[tauri::command]
fn get_data(path: &str, start: u64, length: usize, filters: Vec<FilterConfig>) -> Vec<Vec<f32>> {
    vec![vec![0.0; 2560]; 21]
    // data::get(path, start, length, filters)
}
```

After several thousand invocations, watch memory usage creep up:
![image](https://user-images.githubusercontent.com/16892444/166257302-6bc63416-c4cf-4f87-9954-21782188bd37.png)

Eventually, when memory pressure is sufficient, the usage plateaus. It appears that garbage collection runs regularly, reducing the memory usage of both the processes that hog memory.

### Expected behavior

I would expect the app to run without hogging memory resources.

### Platform and versions

```shell
> tauri-app@0.1.0 tauri
> tauri "info"


Environment
  › OS: Mac OS 12.2.1 X64
  › Node.js: 16.13.1
  › npm: 8.1.2
  › pnpm: Not installed!
  › yarn: Not installed!
  › rustup: 1.24.3
  › rustc: 1.57.0
  › cargo: 1.57.0
  › Rust toolchain: stable-aarch64-apple-darwin 

Packages
  › @tauri-apps/cli [NPM]: 1.0.0-rc.9
  › @tauri-apps/api [NPM]: 1.0.0-rc.4
  › tauri [RUST]: 1.0.0-rc.8,
  › tauri-build [RUST]: 1.0.0-rc.7,
  › tao [RUST]: 0.8.3,
  › wry [RUST]: 0.15.1,

App
  › build-type: bundle
  › CSP: unset
  › distDir: ../build
  › devPath: http://localhost:3000/
  › framework: React

App directory structure
  ├─ node_modules
  ├─ public
  ├─ src-tauri
  ├─ build
  ├─ .git
  └─ src
```


### Stack trace

```shell
N/A
```


### Additional context

The `get_data` command only needs 5ms on my machine. That means the interval is not running too fast, since it has > 40ms of rest time between invocations.
Repository: ant-design
Issue: The size of the button group, which affects the size of the buttons in the Modal.
Labels: Inactive

### Reproduction link

[https://bzgjxw.csb.app/](https://bzgjxw.csb.app/)

### Steps to reproduce

<img width="883" alt="image" src="https://user-images.githubusercontent.com/69514654/166267474-c0e85658-aec4-41d3-bb6f-0aa80bf1d3bc.png">

```tsx
<Dropdown.Button
  size="small"
  overlay={<Menu items={[{ key: "1", label: ModalItem }]} />}
>
  Actions
</Dropdown.Button>
```

### What is expected?

The size of the button in the popup window is not affected. Or use own size first.
https://github.com/ant-design/ant-design/blob/master/components/button/button.tsx#L237=


### What is actually happening?

https://bzgjxw.csb.app/

| Environment | Info |
| --- | --- |
| antd | 4.20.2 |
| React | 18.1.0 |
| System | Windows, MacOS |
| Browser | Chrome |

---
Although can avoid this problem by assembling button groups.

<!-- generated by ant-design-issue-helper. DO NOT REMOVE -->
Repository: go
Issue: x/website: update `go list -m` documentation for workspace mode in ref/mod
Labels: Documentation,NeedsInvestigation,GoCommand,website

The documentation of `go list -m` currently says:
"If no arguments are specified, the *main module* is listed."

This is incorrect, since, when workspace mode is enabled, `go list -m` lists all the active main modules.

Here is an example:
`$ go list -m -json`
```
{
	"Path": "xxx",
	"Main": true,
	"Dir": "/tmp/src/xxx",
	"GoMod": "/tmp/src/xxx/go.mod",
	"GoVersion": "1.18"
}
{
	"Path": "yyy",
	"Main": true,
	"Dir": "/tmp/src/yyy",
	"GoMod": "/tmp/src/yyy/go.mod",
	"GoVersion": "1.18"
}
{
	"Path": "zzz",
	"Main": true,
	"Dir": "/tmp/src/zzz",
	"GoMod": "/tmp/src/zzz/go.mod",
	"GoVersion": "1.18"
}
```
Repository: flutter
Issue: When setting flutter config --build-dir=<out>, the default build folder is still created.
Labels: tool,customer: google,a: build,has reproducible steps,P2,found in release: 3.3,found in release: 3.4,team-tool,triaged-tool

<!-- Thank you for using Flutter!

     If you are looking for support, please check out our documentation
     or consider asking a question on Stack Overflow:
      * https://flutter.dev/
      * https://api.flutter.dev/
      * https://stackoverflow.com/questions/tagged/flutter?sort=frequent

     If you have found a bug or if our documentation doesn't have an answer
     to what you're looking for, then fill out the template below. Please read
     our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports
-->

## Steps to Reproduce

<!-- Please tell us exactly how to reproduce the problem you are running into. -->

1. Run flutter config --build-dir=<out> in VSCode terminal
2. Restart VSCode
3. Run flutter create .
4. The new build-dir is created and populated, but the original default build folder is also created and populated with stuff.
5. This creates a conflict as there is already file named BUILD in the flutter project's root, where it creates the build folder.

## Logs

<details>
<summary>Logs</summary>

<!--
      Include the full logs of the commands you are running between the lines
      with the backticks below. If you are running any "flutter" commands,
      please include the output of running them with "--verbose"; for example,
      the output of running "flutter --verbose create foo".
-->

There are no logs for this, the problem is obvious, and is solved if I remove the BUILD file, by I can't do that as this file is required by the CI/CD system.

<!-- If possible, paste the output of running `flutter doctor -v` here. -->

PS C:\Users\jfcarroll\source\repos\google73\google3\location\nearby\apps\helloconnections> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.10.5, on Microsoft Windows [Version 10.0.19042.1645], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Professional 2022 17.1.6)
[√] Android Studio (version 4.1)
[√] VS Code (version 1.66.2)
[√] Connected device (3 available)
[√] HTTP Host Availability

• No issues found!

</details>