Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_ix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
name: Issue report for Ix
about: Creates an issue report regarding a bug, question or feature request for Ix.NET
title: ''
labels: '[area] Ix'
assignees: ''
---
Hello and thank you for using dotnet/reactive. Please select a category and detail your issue by answering the questions there:

#### Bug

Despite our best efforts, bugs can slip into releases or corner cases forgotten about. We will try our best to remedy the situation
and/or provide workarounds. Note that certain (odd) behaviors are by design and as such are not considered bugs.

> Which subcomponent library (Ix, Async.Ix)?

> Which library version?

> What are the platform(s), environment(s) and related component version(s)?

> What is the use case or problem?

> What is the expected outcome?

> What is the actual outcome?

> What is the stacktrace of the exception(s) if any?

> Do you have a code snippet or project that reproduces the problem?

#### Question

Before you ask us a question, please note that dotnet/reactive is maintained by a handful of dedicated people voluntarily and in their free time.
You could help us tremendously by first searching for some keywords related to your question with your favorite search engine,
our [issue list](https://github.com/dotnet/reactive/issues) or the related [stackoverflow.com](https://stackoverflow.com) keywords (such as
[ienumerable](https://stackoverflow.com/questions/tagged/ienumerable) and
[iasyncenumerable](https://stackoverflow.com/questions/tagged/iasyncenumerable)
). Please also consider asking questions, such as **"How do I do X?"** or **"Where can I find Y?"**, under one of these tags on *StackOverflow* instead.

In case you have not found an answer or your question is not really suited for *StackOverflow*, you are welcome to ask it here.

> What is the context of your question or problem?

> What is the question or problem you try to solve?

> What were the (original) requirements you tried to solve?

> What have you tried so far, what code have you written so far?

#### Feature request

The dotnet/reactive hosts fundamental components and operators for `IObservable`, `IEnumerable` and `IAsyncEnumerable`, and as such, to be and
to stay as a dependable family of libraries, we have to carefully consider what new features to include. Therefore, before asking for a new component,
operator or feature, please consider the following cases and resolutions first:

a) **New source factory method.** Static factory methods creating an instance of the types mentioned above can live in any class in any library
without too much inconvenience. Please consider hosting such factory methods outside dotnet/reactive.

b) **New instance method/operator.** The .NET world features extension methods which gives the flexibility to have fluent API expansions in
your local project or any third party library. Please consider hosting such methods outside dotnet/reactive too.

c) **Support for or bridge to other 1st or 3rd party components.** These are considered on a specific case-by-case basis but generally,
please consider hosting such support/bridge code outside dotnet/reactive.

d) **New reactive/interactive base type or concept.** Components requiring changes or introduction of new protocols (for example, flow control,
item lifecycle, async) are generally better suited for their own 3rd party library hosting and interoperation should be provided, via the standard
types mentioned above, there.

e) **Behavior change on an existing operator.** Such changes involve a lot of risks for existing users, therefore, usually, it is better to introduce
a completely new component or operator, for which see points a)..d) again.

Considering the points above, please describe the feature or behavior you would like dotnet/reactive included:

> Which subcomponent library (Ix, Async.Ix)?

> Which next library version (i.e., patch, minor or major)?

> What are the platform(s), environment(s) and related component version(s)?

> How commonly is this feature needed (one project, several projects, company-wide, global)?

> Please describe the feature.
77 changes: 77 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_rx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
name: Issue report for Rx
about: Creates an issue report regarding a bug, question or feature request for Rx.NET
title: ''
labels: '[area] Rx'
assignees: ''
---
Hello and thank you for using dotnet/reactive. Please select a category and detail your issue by answering the questions there:

#### Bug

Despite our best efforts, bugs can slip into releases or corner cases forgotten about. We will try our best to remedy the situation
and/or provide workarounds. Note that certain (odd) behaviors are by design and as such are not considered bugs.

> Which library version?

> What are the platform(s), environment(s) and related component version(s)?

> What is the use case or problem?

> What is the expected outcome?

> What is the actual outcome?

> What is the stacktrace of the exception(s) if any?

> Do you have a code snippet or project that reproduces the problem?

#### Question

Before you ask us a question, please note that dotnet/reactive is maintained by a handful of dedicated people voluntarily and in their free time.
You could help us tremendously by first searching for some keywords related to your question with your favorite search engine,
our [issue list](https://github.com/dotnet/reactive/issues) or the related [stackoverflow.com](https://stackoverflow.com) keywords (such as
[system.reactive](https://stackoverflow.com/questions/tagged/system.reactive)
). Please also consider asking questions, such as **"How do I do X?"** or **"Where can I find Y?"**, under one of these tags on *StackOverflow* instead.

In case you have not found an answer or your question is not really suited for *StackOverflow*, you are welcome to ask it here.

> What is the context of your question or problem?

> What is the question or problem you try to solve?

> What were the (original) requirements you tried to solve?

> What have you tried so far, what code have you written so far?

#### Feature request

The dotnet/reactive hosts fundamental components and operators for `IObservable`, `IEnumerable` and `IAsyncEnumerable`, and as such, to be and
to stay as a dependable family of libraries, we have to carefully consider what new features to include. Therefore, before asking for a new component,
operator or feature, please consider the following cases and resolutions first:

a) **New source factory method.** Static factory methods creating an instance of the types mentioned above can live in any class in any library
without too much inconvenience. Please consider hosting such factory methods outside dotnet/reactive.

b) **New instance method/operator.** The .NET world features extension methods which gives the flexibility to have fluent API expansions in
your local project or any third party library. Please consider hosting such methods outside dotnet/reactive too.

c) **Support for or bridge to other 1st or 3rd party components.** These are considered on a specific case-by-case basis but generally,
please consider hosting such support/bridge code outside dotnet/reactive.

d) **New reactive/interactive base type or concept.** Components requiring changes or introduction of new protocols (for example, flow control,
item lifecycle, async) are generally better suited for their own 3rd party library hosting and interoperation should be provided, via the standard
types mentioned above, there.

e) **Behavior change on an existing operator.** Such changes involve a lot of risks for existing users, therefore, usually, it is better to introduce
a completely new component or operator, for which see points a)..d) again.

Considering the points above, please describe the feature or behavior you would like dotnet/reactive included:

> Which next library version (i.e., patch, minor or major)?

> What are the platform(s), environment(s) and related component version(s)?

> How commonly is this feature needed (one project, several projects, company-wide, global)?

> Please describe the feature.
56 changes: 56 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pr_ix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: Pull request for Ix
about: Creates a Pull request regarding a bug, enhancement or feature request for Ix.NET
title: ''
labels: '[area] Ix'
assignees: ''
---Hello and thank you for contributing to dotnet/reactive. Before you proceed by creating a pull request (PR):

> Please make sure your contribution is in line with the project's [licensing model](https://github.com/dotnet/reactive/blob/master/LICENSE) and
your employment allows you to contribute to open source.

> Please sign the [Contributor License Agreement](https://cla.dotnetfoundation.org/dotnet/reactive?pullRequest=1101) in case the CLA bot asks you
for being a new contributor.

> Please make sure you target the `master` branch when creating the PR.

What is the nature of your contribution?

#### Bugfix

> Please describe what and how the bug manifested itself and what kind of fix did you implement.
> Practically, you are writing these descriptions for the search engines so others can find the resolution easier.

> Please reference the related issue(s) to the original bug report (example: `Fixes #X`, `Resolves #X`).
> Note that some behaviors are by design and are not bugs. If you are unsure, please open an [issue](https://github.com/dotnet/reactive/issues) first.

> Please include the relevant unit test(s) that verify the fix works.
> It is recommended you write the unit test(s) first to see they failed before your fix; however, there is
> no need to post a PR to demonstrate this failure stage. Please post in a state where the issue is resolved.

#### Enhancement

> Please consider opening an [issue](https://github.com/dotnet/reactive/issues) first to discuss the kind and impact of the enhancement first,
> if such issue doesn't exist yet. Also please check if there was a consensus about accepting such an enhancement.

> Please describe how, what and why the enhancement is implemented.
> Practically, you are writing these descriptions for the search engines so others can find the change details easier.

> Please reference the related issue(s) to the original issue report (example: `Fixes #X`, `Resolves #X`).

> Please include the relevant unit test(s) or benchmark(s) that show or verify the enhancement works.

#### Feature request

> We strongly recommend opening an [issue](https://github.com/dotnet/reactive/issues) first to discuss the nature and impact of the request first.
> If such an issue already exists, please check if there was a consensus and approval for accepting a contribution.

> Please describe what request is about, how it works in general and what possible corner cases it or the user should consider.
> Please include some basic usage examples of the important components and/or overloads.
> Practically, you are writing these descriptions for the search engines so others can find out about the new feature easier.

> Please reference the related issue(s) to the original issue report (example: `Resolves #X`).

> Please include unit tests that verify the behavior of the new feature. Please make sure the code coverage is reasonably high with the new code.
> Depending on the feature, you may want to include actual multi-threaded test cases to verify the correct async behavior, however,
> please be mindful of the time such tests take and try to stay under a few seconds.
57 changes: 57 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pr_rx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
name: Pull request for Rx
about: Creates a Pull request regarding a bug, enhancement or feature request for Rx.NET
title: ''
labels: '[area] Rx'
assignees: ''
---
Hello and thank you for contributing to dotnet/reactive. Before you proceed by creating a pull request (PR):

> Please make sure your contribution is in line with the project's [licensing model](https://github.com/dotnet/reactive/blob/master/LICENSE) and
your employment allows you to contribute to open source.

> Please sign the [Contributor License Agreement](https://cla.dotnetfoundation.org/dotnet/reactive?pullRequest=1101) in case the CLA bot asks you
for being a new contributor.

> Please make sure you target the `master` branch when creating the PR.

What is the nature of your contribution?

#### Bugfix

> Please describe what and how the bug manifested itself and what kind of fix did you implement.
> Practically, you are writing these descriptions for the search engines so others can find the resolution easier.

> Please reference the related issue(s) to the original bug report (example: `Fixes #X`, `Resolves #X`).
> Note that some behaviors are by design and are not bugs. If you are unsure, please open an [issue](https://github.com/dotnet/reactive/issues) first.

> Please include the relevant unit test(s) that verify the fix works.
> It is recommended you write the unit test(s) first to see they failed before your fix; however, there is
> no need to post a PR to demonstrate this failure stage. Please post in a state where the issue is resolved.

#### Enhancement

> Please consider opening an [issue](https://github.com/dotnet/reactive/issues) first to discuss the kind and impact of the enhancement first,
> if such an issue doesn't exist yet. Also please check if there was a consensus about accepting such an enhancement.

> Please describe how, what and why the enhancement is implemented.
> Practically, you are writing these descriptions for the search engines so others can find the change details easier.

> Please reference the related issue(s) to the original issue report (example: `Fixes #X`, `Resolves #X`).

> Please include the relevant unit test(s) or benchmark(s) that show or verify the enhancement works.

#### Feature request

> We strongly recommend opening an [issue](https://github.com/dotnet/reactive/issues) first to discuss the nature and impact of the request first.
> If such an issue already exists, please check if there was a consensus and approval for accepting a contribution.

> Please describe what request is about, how it works in general and what possible corner cases it or the user should consider.
> Please include some basic usage examples of the important components and/or overloads.
> Practically, you are writing these descriptions for the search engines so others can find out about the new feature easier.

> Please reference the related issue(s) to the original issue report (example: `Resolves #X`).

> Please include unit tests that verify the behavior of the new feature. Please make sure the code coverage is reasonably high with the new code.
> Depending on the feature, you may want to include actual multi-threaded test cases to verify the correct async behavior, however,
> please be mindful of the time such tests take and try to stay under a few seconds.