sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: terminal
Issue: Suggestion: ability for terminals to set their tab icon
Labels: Issue-Feature,Help Wanted,Area-VT,Product-Terminal

#1685 Summary of the new feature/enhancement

The terminal currently provides a way for shells to specify the title:

![image](https://user-images.githubusercontent.com/172594/60805256-76556980-a177-11e9-834d-591efa85d446.png)

In the world of web apps, both title and icon can be specified.

![image](https://user-images.githubusercontent.com/172594/60805325-a8ff6200-a177-11e9-9b23-914084ef3b66.png)

It would be useful for shells to be able to specify an icon for their tab for the same reasons:

 - Sometimes visuals are more obvious than text. The node.js green gem, or the python logo, or some custom app icon all 'pop' visually more than the equivalent text does 

 - Terminals can update their icon to indicate specific conditions (a bell should be used for serious differences, but this could be used for more subtle ones, eg, showing a tunnel icon for an ssh tunnel running, then a shell icon if it stops and returns to the prompt)

 - If we let terminals specify their title, why not let them specify their icon?
Repository: TypeScript
Issue: How to find/debug what file(s) included given file during typescript compilation
Labels: Suggestion,In Discussion

##  Search Terms

<!-- List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily -->

find why was file included during typescript build

## Suggestion

Be able to find out why a file was checked by TS compiler during a build.

## Use Cases

Sometimes testing files gets somehow mixed into the type checking for dev/prod builds. 

## Examples

If a flag `explain-inclusion=FLFolder.mock.ts` is present:

`projects/folder-listing/src/app/services/FLEntities/FLFolder.mock.ts` was included, because it was requested by:
- `projects/folder-listing/src/app/services/FLEntities/FLFolder.ts` at (3:26)
- `projects/folder-listing/src/app/services/main.service.ts` (7:10)
... (Only first level, the developer should repeat the process as needed)

## Checklist

My suggestion meets these guidelines:

* [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, etc.)
* [x] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).
Repository: flutter
Issue: flutter run with Multiple, but not All Devices
Labels: c: new feature,tool,P3,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 our the template below. Please read
     our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports
-->

## Use case

Since Flutter has started to support desktop and web development, it is a good idea to only run multiple, but not all devices in `flutter run`.

For example, I only want to run my Flutter app in iOS simulators and Android emulators, but not `macos` or `chrome`.
<!--
     Please tell us the problem you are running into that led to you wanting
     a new feature.

     Is your feature request related to a problem? Please give a clear and
     concise description of what the problem is.

     Describe alternative solutions you've considered. Is there a package
     on pub.dev/flutter that already solves this?
-->

## Proposal
In `flutter run -d`, either separate device IDs using commas (e.g. `flutter run -d device1,device2,device3`), or allow multiple `-d` flags (e.g. `flutter run -d device1 -d device2 -d device3`).
<!--
     Briefly but precisely describe what you would like Flutter to be able to do.

     Consider attaching images showing what you are imagining.

     Does this have to be provided by Flutter directly, or can it be provided
     by a package on pub.dev/flutter? If so, maybe consider implementing and
     publishing such a package rather than filing a bug.
-->
Repository: terminal
Issue: Display current tab's icon as a badge on the taskbar icon
Labels: Issue-Feature,Help Wanted,Area-UserInterface,Product-Terminal

<!-- 
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨

I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING:
1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement.
2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement.
3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number).
4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement.
5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement.

All good? Then proceed!
-->

I can assign individual icons for each profile, and each tab I open for said profile has that profile's icon on the tab. HOWEVER, the taskbar "button" has the primary app icon on it, which isn't as helpful as having the currently active tab's icon instead. The correct icon provides a visual cue on which taskbar button is "my" button I'm looking for.

<!-- 
A clear and concise description of what the problem is that the new feature would solve.
Describe why and how a user would use this new functionality (if applicable).
-->

# Proposed technical implementation details (optional)

<!-- 
A clear and concise description of what you want to happen.
-->
Repository: pytorch
Issue: [dataloader] Mysterious error when using spawn start_method 
Labels: module: dataloader,triaged

Unfortunately, I couldn't find the root cause for the moment. The error disappears when I use the fork start_method. I also can't find what `deco` it refers to.

It seems that some function decorator / wrapping is happening badly, but I can't find what's to blame.: the dataset object can clearly be pickled, as proven by the fork start method.

The error comes from `process.start()` impl for the spawn start method.
```
Traceback (most recent call last):
  File "train.py", line 968, in <module>
    train(start_epoch, start_iter, start_checkpoint)
  File "train.py", line 688, in train
    for i, data in enumerate(train_loader, start=from_iter):
  File "/miniconda/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 194, in __iter__
    return _DataLoaderIter(self)
  File "/miniconda/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 470, in __init__
    w.start()
  File "/miniconda/lib/python3.7/multiprocessing/process.py", line 112, in start
    self._popen = self._Popen(self)
  File "/miniconda/lib/python3.7/multiprocessing/context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/miniconda/lib/python3.7/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/miniconda/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/miniconda/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__
    self._launch(process_obj)
  File "/miniconda/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/miniconda/lib/python3.7/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'deco.<locals>.wrapped'
```

PyTorch version: 1.2.0.dev20190607
Repository: go
Issue: cmd/go: `go clean <package>` downloads modules
Labels: NeedsInvestigation,modules

#28680 is fixed and `go clean --modcache` command no longer donwloads modules before cleaning if no argument is given to the command. 

Note however 'go clean' accepts packages parameter as an argument(which isn't relevant to `-modcache` but is still meaningful for other purposes of `go clean`). If they are given, `go clean` still downloads the modules and even updates the go.mod file. 

<pre>
$ go help clean
usage: go clean [clean flags] [build flags] [packages]
...
$ export GOPATH=$(mktemp -d)
$ go1.13beta1 clean -testcache -cache -modcache
$ go1.13beta1 mod init scratch
go: creating new go.mod: module scratch
$ go1.13beta1 clean  golang.org/x/text
go: finding golang.org/x/text v0.3.2
go: downloading golang.org/x/text v0.3.2
go: extracting golang.org/x/text v0.3.2
$ cat go.mod
module scratch

go 1.13

require golang.org/x/text v0.3.2 // indirect
</pre>

And the `go clean -modcache <package>` behaves differently.
<pre>
$ go1.13beta1 clean -modcache golang.org/x/text
$ go1.13beta1 clean -modcache golang.org/x/text
go: downloading golang.org/x/text v0.3.2
go: extracting golang.org/x/text v0.3.2
go: finding golang.org/x/text v0.3.2
</pre>
Repository: flutter
Issue: [Request] React-like ref for widgets
Labels: c: new feature,framework,P3,team-framework,triaged-framework

## Use case

`GlobalKey` allows other widgets to access to the `State` of a widget. But it comes with many issues:

- It's possible to read the content of a `GlobalKey` inside `build`, which is a very bad practice
- the documentation states that it is not performant
- It's difficult to make `GlobalKey` compile-time safe. There's nothing preventing the following:
  ```dart
  Navigator(key: GlobalKey<FormState>()) // <FormState> doesn't make sense
  ```
- it can't be used inside a `StatelessWidget` easily without losing composition, example:
  ```dart
  class Foo extends StatelessWidget {
    final formKey = GlobalKey<FormState>();
  
    @override
    Widget build(BuildContext context) {
      return Form(
        key: formKey,
        child: ...,
      );
    }
  }
  ```
  Such code is bad because if `Foo` gets recreated, then the `GlobalKey` will be recreated, which will destroy the form.

## Proposal


This proposal is about implementing an alternative to `GlobalKey`, to access the state of descendants, that is **not** a `Key`.

It'd be expressed through two things:

- A class `Ref` like so:

  ```dart
  class Ref<T extends State> {
    T get state;
  }
  ```

- A new property on `StatefulWidget` is added:

  ```dart
  abstract class StatefulWidget {
    const Widget({Key key, Ref ref});
  }
  ```

then all `StatefulWidget` with a public `State` are expected to expose an optional `ref`.

For example, `Form` would do:

```dart
class Form extends StatefulWidget {
  Form({Key key, Ref<FormState> ref}): super(key: key, ref: ref);
}
```

Which means a `StatelessWidget` can then do: (without `FormState` being destroyed if the ref change)


```dart
class Foo extends StatelessWidget {
  final formRef = Ref<FormState>();
  
  @override
  Widget build(BuildContext context) {
    return Form(
      ref: formRef,
      onChanged: () {
        // do something with formRef.state
      }
      child: ...,
    );
  }
}
```


It'd come with a few rules:

- Accessing `Ref.state` inside `build`, should be strictly forbidden. This can be done through `BuildOwner.debugBuilding`
- The `Ref` associated with a `StatefulWidget` can freely be replaced by another one without having any impact on `State`, as opposed to `Key`
- Subclasses of `StatefulWidget` are expected to specify `T` of `Ref<T>`:
  DON'T
  ```dart
   Foo({Ref ref}): super(ref: ref);
  ```
  DO:
  ```dart
  Foo({Ref<FooState> ref}): super(ref: ref);
  ```

______


This solves all the previously mentioned points because:

- it is a lot more performant then `GlobalKey` since it does nothing else besides storing a reference to `State`.
- it voluntarily can't be read inside `build`
- it can be used inside `StatelessWidget`
- it can be made type-safe, such that the following won't compile:
  ```dart
   Form(ref: Ref<NavigatorState>())
  ```
Repository: TypeScript
Issue: Allow configuration of missing property quickfix
Labels: Suggestion,Awaiting More Feedback


## Search Terms
`property does not exist quickfix `
`quick fix`
`create private property`
`quickfix configuration`
<!-- List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily -->

## Suggestion

When referencing a property that doesn't exist within a class, you get the error `Property 'foo' does not exist on type 'MyClass'.ts(2339)`.  In VS Code you can then do `cmd-.` to get the quickfix option `Declare property 'foo'`.  When you select this, a property is declared, but it is created with default visibility.  

Based on digging in to the code here: 
 
https://github.com/microsoft/TypeScript/blob/15daf42b2c0bc4f06970c9e4688f1a93bff0f7a0/src/services/codefixes/fixAddMissingMember.ts#L204-L210  
it doesn't look like there's anyway to configure this.

It would be really nice if there was a way to configure the quickfix functionality to default to creating properties with a given access modifier (in my case I'd like to default them to `private`).  Given the upcoming `#field` [private-named fields stuff](https://github.com/microsoft/TypeScript/pull/30829), it seems like this could also be a useful way to let people decide what they want to use.

## Use Cases

I would like to have the properties created by quickfix all start as private, to encourage writing classes with strong encapsulation.  
The current approach requires me to go back and modify the generated declaration every time.

## Examples
Starting code with missing property:
```typescript
export class MyClass {
  public constructor(foo: number) {
    this.foo = foo;
  }
}
```
After applying the quickfix to the line `this.foo = foo;` it becomes:
```typescript
export class MyClass {

  foo: number;

  public constructor(foo: number) {
    this.foo = foo;
  }
}
```
but I would like some way to configure it to instead do:
```typescript
export class MyClass {

  private foo: number;

  public constructor(foo: number) {
    this.foo = foo;
  }
}
```

## Checklist

My suggestion meets these guidelines:

* [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, etc.)
* [x] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).
Repository: rust
Issue: The "reached type-length limit" error is not very helpful
Labels: A-type-system,C-enhancement,A-diagnostics,T-compiler,A-suggestion-diagnostics,T-types

This issue is close to  #58952, but I think it's different. Feel free to close it if I'm mistaken.

### The issue

Here is the code I am trying to compile: [lovasoa/seamcarving @ f6be585](https://github.com/lovasoa/seamcarving/tree/f6be585a9f21171c8fc15dcca5218c0b761b5cfa).
The compilation fails with : 

```
error: reached the type-length limit while instantiating `<std::iter::Once<u32> as std::it...ving::seamfinder::SeamElem), !>>`
```

The issue probably comes from my code, and not from the compiler, but the compiler makes it quite difficult to debug !

The compiler error does not point to a precise place in the code, and does not even print the full name of the type it is trying to instantiate. I only know that is starts with `<std::iter::Once<u32> as std::it` and ends with `ving::seamfinder::SeamElem), !>>`.
 Moreover, it notes : 
```
note: consider adding a `#![type_length_limit="1814752"]` attribute to your crate
```

... even if the attribute is already there.
Repository: terminal
Issue: Incorrect DPI scaling for font preview in shell properties dialog
Labels: Product-Conhost,Help Wanted,Issue-Bug,Area-UserInterface

<!-- 
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨

I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING:
1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement.
2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement.
3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number).
4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement.
5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement.

All good? Then proceed!
-->

<!--
This bug tracker is monitored by Windows Terminal development team and other technical folks.

**Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**.
Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue.

Please use this form and describe your issue, concisely but precisely, with as much detail as possible.

-->

# Environment

```none
Windows Build Number: 10.0.18362.207
```

* This issue relates to the built-in conhost.
* Tested on a single monitor system at 200% DPI.

# Description

The font preview shown on the Fonts tab or Colours tab doesn't use the correct DPI scaling when accessed via a shortcut's property dialog. However, the same font preview shown on a console window's property dialog does use the correct scaling. 

![Comparison Screenshot](https://user-images.githubusercontent.com/14015806/60824896-6737e100-a1a2-11e9-96ef-f87a33ca193e.PNG)

# Steps to reproduce

1. Set the system DPI scaling to be higher than 100% (I use 200%). Sign in and out if changing.
2. Find or create a shortcut to a console app (e.g. Command Prompt).
3. Open the shortcut's property dialog and go to the Fonts tab or Colours tab.
4. See that the font preview is not correctly scaled for the DPI.
5. Run the console app and open the console window's property dialog.
6. Go to the Fonts tab or Colours tab, and see that the font preview is correctly scaled for the DPI.
Repository: go
Issue: x/net/publicsuffix: EffectiveTLDPlusOne accepts IP Addresses
Labels: NeedsInvestigation

<!-- Please answer these questions before submitting your issue. Thanks! -->

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.12.4 darwin/amd64
</pre>

### Does this issue reproduce with the latest release?

Yes

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/x/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/x/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/hf/v0mqyvgn6h79sjd8c8t7dy540000gn/T/go-build875757611=/tmp/go-build -gno-record-gcc-switches -fno-common"

</pre></details>

### What did you do?

By passing an IP address into this function, I am provided the last index of the Network ID, and the Host ID (3rd & 4th position).

```
package main

import (
	"fmt"
	"net/url"

	"golang.org/x/net/publicsuffix"
)

func main() {
	u, _ := url.Parse("http://192.168.1.1/")
	fmt.Println(publicsuffix.EffectiveTLDPlusOne(u.Hostname()))
}

```
### What did you expect to see?

An error stating that what was provided was...
* not a valid domain
or
* an IP address

### What did you see instead?

> 1.1 <nil>

Validation should occur to ensure that what is being passed matches the named parameter, `domain`.

Validation is already present: https://github.com/golang/net/blame/da137c7871d730100384dbcf36e6f8fa493aef5b/publicsuffix/list.go#L168

To argue that this function should not be responsible for checking if this is a *valid* domain name would be counterintuitive to L168 linked above.

If this is not the responsibility of this function to ensure what is being passed is actually a domain, then I propose changing the function name to something more similar of what it does.. perhaps `AlphasBetweenLastTwoPeriodsInString` 🙄
Repository: vscode
Issue: Hirerarchical multi-root layout
Labels: feature-request,workbench-multiroot

Currently, the 'folders' field of a `.code-workspace` configuration file is an array of items, each of them defining a folder. Then, all of these are shown as level-1 items in the default File Explorer. I suggest to support nesting 'folder' items with arrays, which will be layout as level-1, level-2, level-3, etc. For example:

``` json
{
  "folders": [
    {
      "name": "Project A",
      "folders": [
        {
          "path": "prjA/dirA",
          "name": "Dir A"
        },
        {
          "path": "prjA/dirB",
          "name": "Dir B"
        }
      ]
    },
    {
      "name": "Project B",
      "folders": [
        {
          "path": "prjB/frontend/src",
          "name": "Frontend"
        }
        {
          "name": "Backend",
          "folders": [
            {
              "path": "prjB/api",
              "name": "API"
            },
            {
              "path": "prjB/lib/src",
              "name": "Library"
            }
          ]
        }
      ]
    },
    {
      "path": "common",
      "name": "Common"
    }
  ]
}
```

which would translate to the following File Explorer structure:

```
- Project A
  - Dir A (prjA/dirA)
  - Dir B (prjA/dirB)
- Project B
  - Frontend (prjB/frontend/src)
  - Backend
    - API (prjB/api)
    - Library (prjB/lib/src)
- Common (common)
```

---

Related to #74229, I believe that the most straighforward integration with this feature would be an option in the settings to display each level-1 item in a separate File Explorer View.

Alternatively, a `group` field can be added to each item defined in the multi-root configuration file (be it a folder or an array). All the items with the same `group` identifier belong to a separate TreeView.

Ref #76902.

---

Related to #76399, the `group` concept above would translate to an Editor Group. Hence, the shown tabs in a given Editor Group will depend on the 'location' ('group') of the currently active document.

---

Ref #31308.
Ref #43188.
Ref #73312.
Ref #76891.