sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: java-design-patterns
Issue: Dependency Command pattern
Labels: epic: pattern,type: feature

**Description:**

The Dependency Command design pattern is essential for managing dependencies and executing commands in a distributed system. This pattern helps in building fault-tolerant applications by isolating points of access to remote systems, services, or resources. The primary elements of this pattern include:

1. **Command Interface**: Defines the contract for executing operations.
2. **Concrete Commands**: Implement the Command interface and define the actual business logic for various operations.
3. **Command Executor**: Responsible for executing the commands and managing dependencies between them.
4. **Dependency Graph**: Represents the dependencies between commands to ensure they execute in the correct order.
5. **Fallback Mechanism**: Provides alternative commands or responses when the primary command fails, ensuring system resilience.

This pattern is particularly useful in high-volume distributed systems where failure is not an option. It ensures that commands with dependencies are executed in the correct sequence, and fallback mechanisms are in place to handle potential failures gracefully.

**References:**
1. [Project Contribution Guidelines](https://github.com/iluwatar/java-design-patterns/wiki)
2. [Netflix Tech Blog: Fault Tolerance in a High Volume Distributed System](https://netflixtechblog.com/fault-tolerance-in-a-high-volume-distributed-system-91ab4faae74a)

**Acceptance Criteria:**
1. Implement the Command interface and a few sample Concrete Commands demonstrating different operations.
2. Develop a Command Executor that handles the execution and manages the dependencies between commands.
3. Include a fallback mechanism to provide resilience in case of command execution failures.
Repository: youtube-dl
Issue: Add more metadata parsing options
Labels: request

## Please follow the guide below
- You will be asked some questions and requested to provide some information, please read them **carefully** and answer honestly
- Put an `x` into all the boxes [ ] relevant to your _issue_ (like that [x])
- Use _Preview_ tab to see how your issue will actually look like

---
### Make sure you are using the _latest_ version: run `youtube-dl --version` and ensure your version is _2016.07.03_. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2016.07.03**
### Before submitting an _issue_ make sure you have:
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
### What is the purpose of your _issue_?
- [ ] Bug report (encountered problems with youtube-dl)
- [ ] Site support request (request for adding support for a new site)
- [x] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other

---
### Description of your _issue_, suggested solution and other information

Right now, the only way to include metadata is via parsing the title with --metadata-from-title. This requires a very deliberate and often not existent form of title formatting if you want more than just Artist and Title. Uploaders on often ommit everything past those two from the title for obvious brevity reasons.

My use case would be to allow/enable additional metadata fields to be set through data such as %(uploader)s, etc. which aren't part of the title. Often I want to download a bunch of files from a music aggregator and group them with an album tag with the uploader name, but this is currently impossible and needs to be done manually.
Repository: three.js
Issue: THREE.EllipseCurve is calculating start/end angles incorrectly
Labels: Regression

##### Description of the problem

With the latest update to THREE.EllipseCurve on the dev branch, the angle calculations are incorrect. You can no longer create a clockwise, full circle, as using 0/2Pi as the angles inverts/reverse the curve.

The problematic changes are in THREE.EllipseCurve.prototype.getPoint

Example:

```
// v-- full, counter-clockwise circle with origin on right
shape.absellipse(0, 0, 10, 10, 0, 2 * Math.PI, true);
 // v-- full, clockwise circle with origin on right
shape.absellipse(0, 0, 10, 10, 0, 2 * Math.PI + Number.EPSILON*2.1, true);
```

Expected behaviour is to get a clockwise circle when using 0/2Pi as start/end angles and true for the clockwise flag.
##### Three.js version
- [x ] Dev
- [ ] r78
- [ ] ...
##### Browser
- [x] All of them
- [ ] Chrome
- [ ] Firefox
- [ ] Internet Explorer
##### OS
- [x] All of them
- [ ] Windows
- [ ] Linux
- [ ] Android
- [ ] IOS
##### Hardware Requirements (graphics card, VR Device, ...)
Repository: youtube-dl
Issue: Site request: http://www.unicaen.fr/recherche/mrsh/forge/4055
Labels: site-support-request

### Make sure you are using the _latest_ version: run `youtube-dl --version` and ensure your version is _2016.07.03.1_. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2016.07.03.1**
### Before submitting an _issue_ make sure you have:
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
### What is the purpose of your _issue_?
- [ ] Bug report (encountered problems with youtube-dl)
- [x] Site support request (request for adding support for a new site)
- [ ] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other

---
### If the purpose of this _issue_ is a _bug report_, _site support request_ or you are not completely sure provide the full verbose output as follows:

Add `-v` flag to **your command line** you run youtube-dl with, copy the **whole** output and insert it here. It should look similar to one below (replace it with **your** log inserted between triple ```):

```
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['http://www.unicaen.fr/recherche/mrsh/forge/4055', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.07.03.1
[debug] Python version 3.5.1+ - Linux-4.4.0-28-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.6-1ubuntu2, ffprobe 2.8.6-1ubuntu2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] 4055: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 4055: Downloading webpage
[generic] 4055: Extracting information
ERROR: Unsupported URL: http://www.unicaen.fr/recherche/mrsh/forge/4055
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/common.py", line 343, in extract
    return self._real_extract(url)
  File "/usr/local/lib/python3.5/dist-packages/youtube_dl/extractor/generic.py", line 2222, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: http://www.unicaen.fr/recherche/mrsh/forge/4055
```

---
### If the purpose of this _issue_ is a _site support request_ please provide all kinds of example URLs support for which should be included (replace following example URLs by **yours**):
- Single video: http://www.unicaen.fr/recherche/mrsh/forge/4055

---
Repository: rust
Issue: BTreeSet and BTreeMap append optimization
Labels: I-slow,C-enhancement,A-collections,C-optimization

When the largest key of one tree is less than the smallest key of another tree, there is a way to merge trees using only O(log n) operations.
Maybe logarithmic `merge` should be a separate method.
I'm ready to work on it.

**UPD:**
Also sometimes it may be better to push elements of one tree to another one with O(min_length log(max_length)) operations instead of rebuild with O(n + m) operations (like in #32526).

But the problem is that it's hard to determine which approach is better in a particular case.
Repository: go
Issue: gccgo: stack memory leak if create large number of goroutines in short time
Labels: NeedsInvestigation

Please answer these questions before submitting your issue. Thanks!
1.  What version of Go are you using (go version)?
   
   ```
   $ go version
   go version go1.6.1 gccgo (GCC) 6.1.1 20160602 linux/amd64
   ```
2.  What operating system and processor architecture are you using (go env)?
   
   Its gcc-go 6.1.1.-2 under Arch Linux.
   
   ```
   $ uname -a
   Linux fa-host 4.6.3-1-ARCH #1 SMP PREEMPT Fri Jun 24 21:19:13 CEST 2016 x86_64 GNU/Linux
   
   $ go env
   GOARCH="amd64"
   GOBIN=""
   GOEXE=""
   GOHOSTARCH="amd64"
   GOHOSTOS="linux"
   GOOS="linux"
   GOPATH="/usr/lib/go:/usr/share/gocode:/usr/lib/go/site"
   GORACE=""
   GOROOT="/usr"
   GOTOOLDIR="/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1"
   GO15VENDOREXPERIMENT="1"
   CC="/usr/bin/gcc"
   GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
   CXX="/usr/bin/g++"
   CGO_ENABLED="1"
   ```
3.  What did you do?
   
   After several days memory leak debugging work for our go
   application, I found the memory issue only occurred when
   compiled by gccgo, and its goroutine stack memory related
   instead of heap. Here is a simple demo to reproduce it:
   
   ```
   package main
   
   import "time"
   import "fmt"
   import "runtime/debug"
   
   func main() {
       worker := func() {
           time.Sleep(3 * time.Second)
       }
       for i := 0; i < 5000; i++ {
           go worker()
       }
       time.Sleep(10 * time.Second)
       fmt.Println("try to release memory")
       debug.FreeOSMemory()
       time.Sleep(3600 * 12 * time.Second)
   }
   ```
   
   For example save it as test.go and run:
   
   ```
   go build -compiler gccgo test.go
   ./test
   ```
4.  What did you expect to see?
   
   The used memory should be released after "try to release
   memory" printed.
5.  What did you see instead?
   
   The memory(about 100MB) is still in used and looks never be
   released even through I waited for a long time(about 1
   hour). So I think it should be a special stack memory leak
   issue.
   
   BTW: Everything is OK if compiled by go/gc.
Repository: vscode
Issue: request: ease-out transition for TextEditorDecorationType (extension API)
Labels: feature-request,api

Would like to be able to apply a transition on a TextEditorDecorationType . Something like this:

```
var flashDecorationType = vscode.window.createTextEditorDecorationType({
  backgroundColor: 'rgba(100,200,100,0.5)',
  transition: 'backgroundColor 1s ease-out'
});
```
Repository: flutter
Issue: iOS Accessibility "Button Shapes"
Labels: c: new feature,platform-ios,framework,a: accessibility,a: fidelity,f: cupertino,P2,team-ios,triaged-ios

Makes clickable regions more visibly obvious.

https://developer.apple.com/accessibility/ios/

![img_0019](https://cloud.githubusercontent.com/assets/11857803/16636114/ecfeb1ac-438a-11e6-9e40-c156a852e5da.PNG)
Repository: flutter
Issue: iOS Accessibility: Reduce Motion
Labels: c: new feature,platform-ios,framework,a: accessibility,a: fidelity,f: cupertino,P2,team-ios,triaged-ios

Uses fade transitions instead of fly-in/fly-out transitions in some places.

https://developer.apple.com/accessibility/ios/
https://developer.apple.com/reference/uikit/1615133-uiaccessibilityisreducemotionena

Under Settings > General > Accessibility

![img_0020](https://cloud.githubusercontent.com/assets/11857803/16636164/2ffd1700-438b-11e6-9df8-6000ab5feb81.PNG)
Repository: angular
Issue: [bug core] *ngFor + Touch Issue
Labels: type: bug/fix,area: animations,freq1: low,area: core,core: event listeners,state: needs more investigation,P4

**I'm submitting a ...** 

```
[x] bug report  
```

**Current behavior**

If I drag a component, bound within an `*ngFor`, (using a **touchscreen**)  and an external event causes the ngFor array to update, `touchmove` events stop firing. This is a terrible experience on mobile. Angular 2 is nearing official release and I'm concerned how to fix the **mobile** experience. **Mouse** dragging does not have this issue.

**E.g.** I have a data array, `currentBookings = [{..}, {..}]`, that is bound with an `*ngFor` such as 

``` typescript
<booking *ngFor="let booking of currentBookings"></booking>
```

and I drag one of the generated `<booking>` components to the 'nextDay' button, which causes the `currentBookings` array to update.  See [this Plunker](http://plnkr.co/edit/QR6WDzv6NxOmn6LXTngG?p=preview)
- I have dealt with this (Touch Spec / Browser Implementation) issue in the past (vanilla JS) by simply keeping the DOM element reference around until the `touchend` or `touchcancel` event fire.
- However, Angular controls the DOM now !
- Could this be solved by Angular implementing a `canDestroy()` Component guard (i.e not route guard) ???

**Expected/desired behavior**

A `canDestroy()` **Component** guard. Or any solution that avoids premature DOM removal of an element. Angular could keep the DOM element in memory and set a style of `{display: none;}`. Anything to improve the drag experience on **mobile**...which is pretty important in my opinion.

**Reproduction of the problem**

See this [Plunker](http://plnkr.co/edit/QR6WDzv6NxOmn6LXTngG?p=preview). Note: Touchscreen required (or Chrome Dev Tools mobile emulation)

**What is the expected behavior?**

In my [Plunker](http://plnkr.co/edit/QR6WDzv6NxOmn6LXTngG?p=preview), I expect the `touchmove` events to keep firing after dragging the 'booking' to the next/prev day. It works as expected with **mouse** dragging.

**What is the motivation / use case for changing the behavior?**

Improve the **mobile** experience of Angular 2.

**Environment:**
- **Angular version:** 2.0.0-rc.4
- **Browser:** [Chrome 51 (with touchscreen), iOS 9.3.2 Safari] 
- **Language:** Typescript@1.9.0-dev.20160409 see plunker
Repository: neovim
Issue: :term buffer does not set '[ and '] marks correctly
Labels: terminal

## Expected behaviour

When `:term` buffer contents change, the `'[` and `']` marks should be set to something reasonable.

See http://stackoverflow.com/a/38247473/152142.

Related: https://github.com/neovim/neovim/issues/8807
Repository: neovim
Issue: terminal-mode events: InsertCharPre
Labels: enhancement,needs:design,terminal,complexity:low

### Expected behaviour

- When `:term` buffer contents change while user is in "terminal mode" (insert mode), insert-mode events such as ~~`TextChangedI`, `CursorMovedI`,~~ `InsertCharPre` should fire.
  - See also http://stackoverflow.com/a/38247473/152142.

Update: it makes sense to implement `InsertCharPre` because Nvim knows exactly what the user sends. But `TextChangedI`  and `CursorMovedI` are less obvious, because the terminal program may change those arbitrarily.
Repository: nvm
Issue: nvm doesn't work with curl alias
Labels: installing node,bugs,shell alias clobbering

I have curl aliased in my shell:

```
dan-mbp-work:~ dan$ type curl
curl is aliased to `curl --verbose -k -o/dev/null'
dan-mbp-work:~ dan$ 
```

This causes nvm to fail on ls-remote:

```
dan-mbp-work:~ dan$ type curl
curl is aliased to `curl --verbose -k -o/dev/null'
dan-mbp-work:~ dan$ nvm ls-remote
*   Trying 104.20.22.46...
* Connected to nodejs.org (104.20.22.46) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.nodejs.org
* Server certificate: COMODO RSA Domain Validation Secure Server CA
* Server certificate: COMODO RSA Certification Authority
* Server certificate: AddTrust External CA Root
> GET /dist/index.tab HTTP/1.1
> Host: nodejs.org
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Thu, 07 Jul 2016 19:22:31 GMT
< Content-Type: text/plain
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=d89d74e8ae3aad5b6eaf4a37052a6551a1467919351; expires=Fri, 07-Jul-17 19:22:31 GMT; path=/; domain=.nodejs.org; HttpOnly
< Last-Modified: Wed, 06 Jul 2016 19:37:58 GMT
< CF-Cache-Status: HIT
< Expires: Thu, 07 Jul 2016 23:22:31 GMT
< Cache-Control: public, max-age=14400
< Server: cloudflare-nginx
< CF-RAY: 2bedaa6a92cf0c89-AMS
< 
{ [892 bytes data]
* Connection #0 to host nodejs.org left intact
*   Trying 104.131.173.199...
* Connected to iojs.org (104.131.173.199) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.nodejs.org
* Server certificate: COMODO RSA Domain Validation Secure Server CA
* Server certificate: COMODO RSA Certification Authority
* Server certificate: AddTrust External CA Root
> GET /dist/index.tab HTTP/1.1
> Host: iojs.org
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 07 Jul 2016 19:22:32 GMT
< Content-Type: text/plain
< Content-Length: 7395
< Last-Modified: Tue, 15 Sep 2015 09:08:02 GMT
< Connection: keep-alive
< ETag: "55f7dff2-1ce3"
< Strict-Transport-Security: max-age=63072000
< X-Frame-Options: DENY
< X-Content-Type-Options: nosniff
< Accept-Ranges: bytes
< 
{ [7395 bytes data]
* Connection #0 to host iojs.org left intact
            N/A
dan-mbp-work:~ dan$ 
```

I tried running:

```
unalias curl
```

But it doesn't work.
Repository: rust
Issue: macros: Trailing expression statement macros expand inconsistently
Labels: A-macros,C-bug

Macro-expanded trailing expression statement macros expand into statements, but unexpanded trailing expression statement macros expand into expressions. For example,

``` rust
macro_rules! m { () => { let x = 0; } }

macro_rules! n { () => {
    let y = 0;
    m!() // Since `m!()` expands into statements, this is ok
}}

fn main() {
    n!();
    let x = 0;
    m!() // Since `m!()` expands into an expression, this is not ok
}
```

One way to fix this is to make all trailing expression statement macros expand into statements.
When (if?) #34706 gets fixed, this will be backwards compatible. However, today it isn't:

``` rust
macro_rules! m { () => { 1; } }
fn f() -> i32 {
    m!() // The trailing semicolon on `1` is ignored today, so this typechecks.
         // If `m!()` were expanded into statements, the trailing semicolon
         // would not be ignored, so this would break.
}
```
Repository: react
Issue: Consider exposing an opaque component path somehow
Labels: Type: Big Picture,React Core Team

This is something I've thought about in regard to focus, hover and selection.

If you implement hover as a top level state value with the currently hovered root component as `hoverID: component` and currently focused component as `focusID: component`.

Now anything in between gets rerendered and can respond to those things changing. However, that also means that everything gets rerendered. Not just the previous and next path.

The ideal would be that you store the path to that component, or extract the path from internal state.

That way we can quickly rerender only the previous and next path, while still letting anything in between react to focus/hover changing.

Maybe this is more generally useful.

Selection is a bit special because it might need to rerender anything in between two paths but that can also be optimized similarly - by checking if any child node corresponds to a start and end path and anything between is selected or unselected.
Repository: youtube-dl
Issue: [VEVO] Support for captions
Labels: request,subtitles

## Please follow the guide below
- You will be asked some questions and requested to provide some information, please read them **carefully** and answer honestly
- Put an `x` into all the boxes [ ] relevant to your _issue_ (like that [x])
- Use _Preview_ tab to see how your issue will actually look like

---
### Make sure you are using the _latest_ version: run `youtube-dl --version` and ensure your version is _2016.07.07_. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2016.07.07**
### Before submitting an _issue_ make sure you have:
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
### What is the purpose of your _issue_?
- [ ] Bug report (encountered problems with youtube-dl)
- [ ] Site support request (request for adding support for a new site)
- [x] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other

---
### Description of your _issue_, suggested solution and other information

It seems VEVO has subtitles on their site despite not displaying them there, only on YouTube. From [this playlist](https://vrl.m.conviva.com/a.mp4?c3.vr=2&c3.ck=c2e8a3a626bd820962a3eadffb15e468ab55327b&c3.rt=m&c3.vp=l&c3.im=d&c3.um=d&c3.r1=http%3A%2F%2Fhls-aws.vevo.com%2Fv3%2Fhls%2F2016%2F07%2FUSH5V1622713%2Ff27f4e03-7554-4b9b-bd83-74e8e42477e2%2Findex_800_wifi.m3u8&c3.r2=http%3A%2F%2Fhls-aka.vevo.com%2Fv3%2Fhls%2F2016%2F07%2FUSH5V1622713%2Ff27f4e03-7554-4b9b-bd83-74e8e42477e2%2Findex_800_wifi.m3u8):

```
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="eng",URI="subtitles/subtitles_en.m3u8"
```

And the subtitles are under `http://hls-aws.vevo.com/v3/hls/2016/07/USH5V1622713/f27f4e03-7554-4b9b-bd83-74e8e42477e2/subtitles/en/0001.vtt`, `0002.vtt` and so on.

Would be nice if those could be downloaded directly instead of having to download them separately from YouTube.
Repository: vscode
Issue: Show quick open results as preview while navigating through them
Labels: feature-request,ux,quick-open

- VSCode Version: 1.3.0
- OS Version: Windows 10 64bit & Mac OS X 10.11.3

Steps to Reproduce:
1. Open the Quick Open box
2. Type a file name that returns several results
3. A new Preview editor pops up and receives focus with the first result loaded into it
4. Scroll through the results in the Quick Open box and the Preview editor changes to the file that's highlighted
5. Selecting a result will fully open the file. Canceling can close the Preview editor or leave it open. I'd prefer if it closed the preview.