sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: neovim
Issue: Grid-based UI widgets
Labels: enhancement,ui-extensibility

Per https://github.com/neovim/neovim/pull/11745, we have `nvim_buf_set_extmark` that anchors some decoration to a buffer position.

I propose we extend this functionality to allow interactive extmarks, i.e. UI widgets (or controls).

In order to support flexible UI elements, the following features should be provided:

- Decoupled rendering: the interactive extmark should be rendered by the UI, which could be something else than a few cells in the grid
- Geometry bounds: an UI element may span across multiple lines, but the principle is that it anchors to a rectangular region in a grid. neovim should also send move/resize events to the frontend so that the controls move/resize/clip in sync with buffer scrolling.
- In order to support rich front-end display, an interactive extmark can carry some metadata that acts as the data context of the front-end view.
- Lifetime management: each element should have a unique id (which is already the case for extmarks?), and neovim should notify the frontends when the controls scroll into/out of the view, so that non-displayed ones can be recycled.
- Widget event handling: frontend can send back messages about interaction events.
- View model logic: one can program in vimL or lua as a plugin, to model the behavior for a view model.

This can enhance NeoVim in a few interesting ways, for example, better debugging interface (https://github.com/neovim/neovim/issues/11732)

Also, to honor cursor-centric interaction paradigm, I also recommend having the data context mapped as a hidden buffer object, so that the vim motions done in the data context can be reflected on the view in the frontend. For example, if there's a two-column table:

```
+----------------+------------------+
| [Title 1]      | [Input box]      |
|----------------+------------------|
| [Title 2]      | [||||||--------] |
|----------------+------------------|
| [Title 3]      | +--------------+ |
|                | | [x] Option 1 | |
|                | | [ ] Option 2 | |
|                | | [ ] Option 3 | |
|                | | [ ] Option 4 | |
|                | | [ ] Option 5 | |
|                | +--------------+ |
|----------------+------------------|
| [Title 4]      | [------|---] 60% |
|                | +--------------+ |
|                | |   Confirm    | |
|                | +--------------+ |
+----------------+------------------+
```

The data context may be designed as a csv table to correspond to the view:

```csv
Title 1,Input box,
Title 2,30/100,
Title 3,x,Option 1
,,Option 2
,,Option 3
,,Option 4
,,Option 5
Title 4,60/100
,Confirm
```

Because there's one-to-one mapping between the two, the motions done in the data context can also be translated intuitively on where we want to go in the view. 
For example:
- when the focus is on "Title 1", key in `2jw` to move focus to "[x] Option 1", and `^]` to activate the "select" event without even needing the frontend to send back a message.
- `/60<CR>10^a` raises the Title 4 slider to 70%
- `/confirm<CR>^]` finds the button and press it.
Repository: flutter
Issue: App is crashing (sigterm) where are the logs?
Labels: c: crash,platform-android,tool,P2,team-android,triaged-android

I have a fairly mature project that has been running pretty well on flutter, however sometimes the app will just up and crash without error, no logs. Nothing. It just shuts down with the last two lines from the debug log

```
Lost connection to device.
Exited (sigterm)
```

Are there any tools or methods I could use to actually figure out what happened? I can't seem to find any documentation on this.

Also a few other things that tells me it's something to do with Flutter / Dart and not a platform / sdk issue:
* This is happening on Debug and Production (even through the play store or appstore)
* I have managed to cause this on a Samsung Tab A 8 inch, a Lenovo Tab 4 8, an IPod Touch, My own Pixel 3a, and a Nokia 6.1.

I have tried running Dev tools to watch memory usage, and logs from there, but still nothing. My only assumption was an out of memory error or something to do with high memory pressure, but unless the tools are not reporting the correct information, memory is not the problem either.
Repository: rust
Issue: Better diagnostics when calling "ouroboros method"
Labels: C-enhancement,A-diagnostics,A-lifetimes,T-compiler,D-confusing

This code gives a somewhat hard to understand error message:

```rust
struct S<'a> {
    p: &'a (),
    unit: (),
}

impl<'a> S<'a> {
    fn ouroboros_me(&'a mut self) {
        self.p = &self.unit;
    }
}

fn main() {
    let unit = ();
    let mut s = S { p: &unit, unit: () };
    s.ouroboros_me();
    s.ouroboros_me();
}

```

```
error[E0499]: cannot borrow `s` as mutable more than once at a time
  --> src/main.rs:13:5
   |
12 |     s.ouroboros_me();
   |     - first mutable borrow occurs here
13 |     s.ouroboros_me();
   |     ^
   |     |
   |     second mutable borrow occurs here
   |     first borrow later used here
```

The error is correct, as `ouroboros_me` stores a self-reference in `s`, but it also happens when not doing that purely due to the method signature. That's also correct, but users frequently write such a method accidentally and are then left to wonder why the variable stays borrowed for seemingly no reason.

It would be good to give a more targeted explanation as to why the borrow stays active for longer than expected.
Repository: javascript
Issue: Reconsider capIsNew: false for new-cap
Labels: question

With `eslint-config-airbnb-base@8.0.0` the code
```js
class Example {}
module.exports = Example();
```
would result in the error:

    example.js:2:18: A function with a name starting with an uppercase letter should only be used as a constructor. [Error/new-cap]

As a result of #1090, which set `capIsNew: false` for `new-cap`, this is no longer the case.

https://github.com/airbnb/javascript/issues/1089#issuecomment-249409624 which motivated the change only mentions adding `"capIsNewExceptions": ["Immutable.Map", "Immutable.Set", "Immutable.List"]`.  Would it make sense to revert `capIsNew: false` (and perhaps adopt `"capIsNewExceptionPattern": "^Immutable.\\w"` as suggested in #1106) or was there another rationale for setting `capIsNew: false`?

Thanks,
Kevin
Repository: TypeScript
Issue: [Feature] allow use `xxx is Type` with async function
Labels: Suggestion,Awaiting More Feedback

<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker.

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ, especially the "Common Feature Requests" section: https://github.com/Microsoft/TypeScript/wiki/FAQ

-->

## 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 -->

## Suggestion

<!-- A summary of what you'd like to see added or changed -->

## Use Cases

<!--
What do you want to use this for?
What shortcomings exist with current approaches?
-->

## Examples

```ts
export async function checkIPFS(ipfs): awaited ipfs is IIPFSPromiseApi
{
return true
}

if (await checkIPFS(ipfs))
{
// here will know ipfs is IIPFSPromiseApi
}
```

![image](https://user-images.githubusercontent.com/167966/77252533-588d4d80-6c8f-11ea-96df-af5dbf2e55a9.png)


## Checklist

My suggestion meets these guidelines:

* [ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
* [ ] This wouldn't change the runtime behavior of existing JavaScript code
* [ ] This could be implemented without emitting different JS based on the types of the expressions
* [ ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
* [ ] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).
Repository: youtube-dl
Issue: Support for Ekeeda.com
Labels: site-support-request

<!--

######################################################################
  WARNING!
  IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
######################################################################

-->


## Checklist

<!--
Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl:
- First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2020.03.08. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED.
- Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser.
- Make sure that site you are requesting is not dedicated to copyright infringement, see https://yt-dl.org/copyright-infringement. youtube-dl does not support such sites. In order for site support request to be accepted all provided example URLs should not violate any copyrights.
- Search the bugtracker for similar site support requests: http://yt-dl.org/search-issues. DO NOT post duplicates.
- Finally, put x into all relevant boxes (like this [x])
-->

- [x] I'm reporting a new site support request
- [x] I've verified that I'm running youtube-dl version **2020.03.08**
- [x] I've checked that all provided URLs are alive and playable in a browser
- [x] I've checked that none of provided URLs violate any copyrights
- [x] I've searched the bugtracker for similar site support requests including closed ones


## Example URLs

<!--
Provide all kinds of example URLs support for which should be included. Replace following example URLs by yours.
-->

- Playlist: https://ekeeda.com/courseinfo/mumbai-university/mechanical-engineering/sem-iii/strength-of-materials


## Description

<!--
Provide any additional information.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
-->

WRITE DESCRIPTION HERE

Educational videos on various engineering subjects. Some of the videos in the playlist are available
for free. In order to get the access to all videos in the playlist the course has to be purchased.
Repository: flutter
Issue: Suggestion: decouple more widgets from Android/iOS design guidelines
Labels: c: new feature,framework,f: material design,f: cupertino,c: proposal,team-design,triaged-design

## Use case

The number of platforms that Flutter officially targets to a reasonable level of stability has grown beyond just Android and iOS to include the web, Windows, macOS, and Linux. Yet most of the widgets the SDK provides are still tied to the design guidelines/systems of those two mobile OSes. This seriously impacts the out-of-box usability of the widget library for developers who are using Flutter for other platforms/who do not necessarily prioritise mobile.

I think there is a strong case to be made that there are a lot of widgets in `flutter/material` and `flutter/cupertino` that really should be/be based on flexible, extensible widgets in `flutter/widgets` so that developers can take direct advantage of logic that's often hidden away in private classes and hardcoded constants, rather than having to duplicate it.

## Proposal

Much like with the new plugin system, I think it would be a great idea if certain Material/Cupertino widgets were rewritten to decouple the general "behaviour" of the widget from design-specific guidelines (and probably make more use of delegates and painters). A prime candidate would be `Slider` and `CupertinoSlider`, for example.

One set of widgets that I think already does this decently well is the set of `Scrollbar` (from `flutter/material`), `CupertinoScrollbar` (from `flutter/cupertino`) and `ScrollbarPainter` (from `flutter/widgets`). With the latter it is easy to build a custom scrollbar without having to think too much about (or copy the logic of) how a scrollbar should work, _and_ you also have built-in scrollbars that follow Material guidelines or HIG if that's what you want. The only thing I would change about this set is to update the documentation of `ScrollbarPainter` with a minimal example of how to put together a scrollbar with it.
Repository: godot
Issue: Custom C++ module and XCode dSYM fail
Labels: bug,platform:ios,topic:buildsystem

**Godot version:**
3.2.1-stable

**OS/device including version:**
Target iOS: 9.0 (arm64)
XCode: 11.3.1
macOS: 10.15.3

**Issue description:**
Trying to build a XCode project for arm64 and generation of dSYM file is giving warnings (but module works):
https://i.imgur.com/ZBUwarq.png

When building **without dSYM file generation it will succeed** without warnings (module works):
https://i.imgur.com/vUwUiiV.png

The module I created is same as in the tutorial so nothing special: https://docs.godotengine.org/en/stable/development/cpp/custom_modules_in_cpp.html

**When using the following build I get the warnings count from around 222 to 58:**
scons p=iphone arch=arm64 target=debug tools=no module_arkit_enabled=no module_assimp_enabled=no module_bmp_enabled=no module_bullet_enabled=no module_camera_enabled=no module_csg_enabled=no module_dds_enabled=no module_enet_enabled=no module_etc_enabled=no module_gdnative_enabled=no module_gridmap_enabled=no module_hdr_enabled=no module_jsonrpc_enabled=no module_mbedtls_enabled=no module_mobile_vr_enabled=no module_opensimplex_enabled=no module_opus_enabled=no module_pvr_enabled=no module_recast_enabled=no module_regex_enabled=no module_squish_enabled=no module_svg_enabled=no module_tga_enabled=no module_theora_enabled=no module_tinyexr_enabled=no module_upnp_enabled=no module_vhacd_enabled=no module_vorbis_enabled=no module_webm_enabled=no module_webp_enabled=no module_webrtc_enabled=no module_websocket_enabled=no module_xatlas_unwrap_enabled=no disable_3d=yes disable_advanced_gui=yes --jobs=$(sysctl -n hw.logicalcpu)



**Steps to reproduce:**
1. Build custom binary for "osx" with custom module 
2. Build custom binary for "iphone" arm64
3. Switch binaries in godot/misc/dist/ios_xcode and create "iphone.zip"
4. Use the custom template in Godot and export
5. Open XCode and add the library of the module you created under Frameworks
6. Try to build the project

**Minimal reproduction project:**
https://docs.godotengine.org/en/stable/development/cpp/custom_modules_in_cpp.html
Repository: flutter
Issue: BinaryMessenger::Send does not indicate success
Labels: engine,customer: dream (g3),P2,team-engine,triaged-engine

Internal b/148508316

The underlying FlutterDesktopMessengerSend [2] returns a boolean, which is swallowed. Even though undocumented, from the implementation it seems that this return value indicates success.

If BinaryMessenger::Send [1] (and transitively, MethodChannel::InvokeMethod [3]) propagate this value, callers would be able to deduce the success of the operation and handle any potential errors.

Currently, this is impossible.

[1] https://github.com/flutter/engine/blob/master/shell/platform/common/cpp/client_wrapper/include/flutter/binary_messenger.h#L42
[2] https://github.com/flutter/engine/blob/master/shell/platform/common/cpp/public/flutter_messenger.h#L54
[3] https://github.com/flutter/engine/blob/master/shell/platform/common/cpp/client_wrapper/include/flutter/method_channel.h#L47
Repository: TypeScript
Issue: Narrowing via property check fails when adding parent type to declaration
Labels: Needs Investigation

**TypeScript Version:**  3.8.3

<!-- Search terms you tried before logging this (so others can find this issue more easily) -->
**Search Terms:**
- property check refinement

**Expected behavior:** No error, type is narrowed to `SubA`.

**Actual behavior:** Type is narrowed to `never` and produces an error.

<!-- Did you find other bugs that looked similar? -->
**Related Issues:**
- https://github.com/microsoft/TypeScript/issues/1260

**Code**

This code type checks:

```ts
interface Base {
  base: number;
}

interface SubA extends Base {
  a: string;
  other: boolean;
}
interface SubB extends Base {
  b: string;
}

function foo(x: SubA | SubB | null) {
  x = x || {base: 1, b: 'b'};
  if (x && 'a' in x && x.a == 'str') {
    x.other;  // ok
  }
}
```

A very tiny tweak (adding `Base |` to the parameter type) breaks things, though:

```ts
function foo(x: Base | SubA | SubB | null) {
  x = x || {base: 1, b: 'b'};
  if (x && 'a' in x && x.a == 'str') {  // <-- Property 'a' does not exist on type 'never'. (2339)
    x.other;  // <-- Property 'other' does not exist on type 'never'. (2339)
  }
}
```

This makes some sense since `foo` could be called with something assignable to `Base` that has an `a` but is not specifically a `SubA`. But what doesn't make sense to me is that removing the assignment on the first line makes the error go away:

```ts
function foo(x: Base | SubA | SubB | null) {
  if (x && 'a' in x && x.a == 'str') {  // ok
    x.other;  // ok
  }
}
```

That assignment seeming has no bearing on `if` statement (the default value doesn't have an `a` property). So why does it affect the inferred type in it?

Either the second and third example should both error or neither of them should.

<details><summary><b>Output</b></summary>

```ts
"use strict";
function foo(x) {
    x = x || {base: 1, b: 'b'};
    if (x && 'a' in x && x.a == 'str') {
        x.other;
    }
}

```


</details>


<details><summary><b>Compiler Options</b></summary>

```json
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "alwaysStrict": true,
    "esModuleInterop": true,
    "declaration": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "moduleResolution": 2,
    "target": "ES2017",
    "jsx": "React",
    "module": "ESNext"
  }
}
```


</details>

**Playground Link:** [Provided](https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgEJwM4oN4ChnIBGmEAXMiAK4C2h0A3LgL666iSyIoDKlhAgsggAPSCAAmGNCWR4CcchjBRQAc0YEA9mAAW0coU2aANhDghGLdtHhJkvQqiGiIEqeiyz8RRcrWXWGEoQBDBgTRBkGCMACmFyDxQAH3s+QRSHJxSqY2MASi8CYWQAXmRipJTsYixyAEYAGh9kAHJCFqYNZGAYZDjkADIB1rgW7sjiofKAOjhSspalKBaCuQIZ7T0oLpYmIA)
Repository: flutter
Issue: [Nitpick] Change "Lost connection to device" wording for platforms that the debugger is running on
Labels: c: new feature,tool,a: quality,c: proposal,P3,team-tool,triaged-tool

In the case of Mac, Web, Windows, Linux Flutter builds, It doesn't make sense to lose connection to the device, unless the actual device turns off, etc. Seeing this error message on macOS made me curious as to what actually DID happen. However, "Lost connection to device" definitely isn't what happened and I believe it covers up what really terminated the debug session
Repository: rust
Issue: Consider printing the query stack on ICE, even without RUST_BACKTRACE.
Labels: C-enhancement,T-compiler

It's valuable information, including to the user, since it may point to a very specific part of the code (before they even report the ICE to us), and it's always available (even without debuginfo).

We could even print the query stack like a set of diagnostic messages, highlighting the span that was provided with `tcx.at(span)` (if any) - I guess we have the code for it, for query cycles?

cc @rust-lang/compiler
Repository: go
Issue: proposal: database/sql: Check if Tx has already been committed or rolled back
Labels: Proposal

I have a use case where I would like to know if Tx has already been committed or rolledback. I can't track this information myself because it's for a package that is intended to be used by third parties.

Currently I have to perform a "fake" query on the Tx to check if it returns `sql.ErrTxDone`. This is ok if the transaction has in fact been committed or rolledback. But if it hasn't, then it will actually take time to call the query.

I believe the object internally tracks this information and it would be good if it was exposed.
Repository: rust
Issue: "type annotations needed" in signature with HRTB
Labels: A-diagnostics,A-trait-system,T-compiler,C-bug,A-higher-ranked

[Playground link](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=da3e2bffa666c55c2d7f099587c57cd4)
```rust
fn foo<F>(f: F) where
    F: for<'a> FnOnce(&'a i32) -> &'a i32,
    F: FnOnce(&'static i32) -> &'static i32
    {}
```

produces:
```
error[E0282]: type annotations needed
 --> src/main.rs:4:8
  |
4 |     F: FnOnce(&'static i32) -> &'static i32
  |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type

error: aborting due to previous error
```

Note that this error occurs when defining the function, not calling it.  There is nowhere to add type annotations, so the error makes no sense.  This code should presumably be accepted, since both of the bounds are accepted individually.
Repository: rust
Issue: `#[track_caller]` should inherit through specialization ancestors, too?
Labels: T-lang,T-compiler,A-specialization,F-specialization,F-track_caller

The current [implementation of `#[track_caller]`](https://github.com/rust-lang/rust/issues/47809) allows trait methods to have the annotation, including at their definition site. When applied in a trait definition, the attribute has effect on all impls. @eddyb [raised the question in code review](https://github.com/rust-lang/rust/pull/69251#discussion_r396162587) of whether you should also be able to add the attribute without adding an implementation as part of a specialization chain.

To me this seems like the correct semantics given what we'd like the non-specialized behavior to be. It's probably a little complicated to implement.
Repository: TypeScript
Issue: Incomprehensible incompatibility around Partial, Conditional types and Generics.
Labels: Needs Investigation


**TypeScript Version:**  3.9.0-dev.20200322

**Search Terms:** partial, conditional types

**Code**

```ts
type SafePartial<T> = T extends {} ? Partial<T> : any;

interface QB<TRecord extends {}> {
  insert(record: SafePartial<TRecord>): void;
}


async function insert1<TRecord extends {}>(qb: QB<TRecord>, record: TRecord) {
  await qb.insert(record);
}
```

**Expected behavior:**

The code successfully compiles

**Actual behavior:**

Following error is observed for `qb.insert(record)`: 

```
Argument of type 'TRecord' is not assignable to parameter of type 'SafePartial<TRecord>'. Type '{}' is not assignable to type 'SafePartial<TRecord>'.
```

The issue goes away if I use `Partial` instead of the `SafePartial` above.

The issue also goes away if a concrete type is used instead of generic type: 

```ts
interface User {
    id: string;
}

async function insert1(qb: QB<User>, record: User) {
  await qb.insert(record);
}
```

**Playground Link:** [Playground](https://www.typescriptlang.org/play?ts=3.9.0-dev.20200322#code/C4TwDgpgBAyghgMwgBTgJ2ASzgGwDwAqAfFALxQFQQAewEAdgCYDOUA3gL5QD8UqG2fMSgAuKHHogA3ACgZmenTQI4AY2gBFAEKEAShFUB7NIyq0GLdhxJsZUKAuYQMACjQHjjMfCT8suPQ8TIgBKMQA3Q0xGWQ45GThmEHpVKAQAVxSsQ3oHeicMAEZAoxMzOiZWTiIXAEcAIzFtEs8iABood1KvCn1ukPY7KAB6YfEAdzhMYCgGgDpHZ2AXAG0uzwBdENl7OEnp2fqF-KW3IMZtmTigA)
Repository: flutter
Issue: Poor video scaling quality
Labels: engine,customer: alibaba,a: video,a: quality,p: video_player,package,c: rendering,P2,team-engine,triaged-engine

Playing video, the text in video has obvious jag. Both occur on android and ios.
![flutter-video-text-jag](https://user-images.githubusercontent.com/24617888/77288580-1ad20880-6d13-11ea-9a64-efef6cce3e1e.png)

source video:
[IMG_8828.zip](https://github.com/flutter/flutter/files/4367567/IMG_8828.zip)