Merge branch 'master' into release/2.0.0

This commit is contained in:
Salvatore Giordano
2021-07-16 12:32:27 +02:00
committed by GitHub
3 changed files with 141 additions and 34 deletions
+139 -32
View File
@@ -22,7 +22,7 @@ You can include the output of `flutter doctor --verbose` when filing an issue.
Stream's Flutter code is kept in a single mono-repository consisting of multiple packages. Source code for each package can be found under the top-level `/packages` directory. Stream's Flutter code is kept in a single mono-repository consisting of multiple packages. Source code for each package can be found under the top-level `/packages` directory.
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/b1a202d3-44c8-4d1a-a5c3-583e7a3c4106/Screen_Shot_2021-03-31_at_4.13.52_PM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075243Z&X-Amz-Expires=86400&X-Amz-Signature=0582138dc957b784d4d505f6591cd3566cede2137fdf48ac546768822f344cab&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-03-31_at_4.13.52_PM.png%22](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/b1a202d3-44c8-4d1a-a5c3-583e7a3c4106/Screen_Shot_2021-03-31_at_4.13.52_PM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075243Z&X-Amz-Expires=86400&X-Amz-Signature=0582138dc957b784d4d505f6591cd3566cede2137fdf48ac546768822f344cab&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-03-31_at_4.13.52_PM.png%22) <img width="1436" alt="Screen_Shot_2021-03-31_at_4 13 52_PM" src="https://user-images.githubusercontent.com/20601437/124240912-8791a080-db1b-11eb-9467-b00e9d14b1ca.png">
### Project Structure 🧱 ### Project Structure 🧱
@@ -88,11 +88,11 @@ Before filing bugs, take a look at our existing backlog. For common bugs, there
To quickly narrow down the amount of tickets on Github, try filtering based on the label that best suites the bug. To quickly narrow down the amount of tickets on Github, try filtering based on the label that best suites the bug.
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/fbdb4e20-4914-416c-831d-6dee7d724501/Screen_Shot_2021-04-14_at_10.55.00_AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075432Z&X-Amz-Expires=86400&X-Amz-Signature=e8c5a2a16de7e059bd1ee55f3d76736823e3fe0583bbb4ab8dd16bb9f792e33c&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-04-14_at_10.55.00_AM.png%22](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/fbdb4e20-4914-416c-831d-6dee7d724501/Screen_Shot_2021-04-14_at_10.55.00_AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075432Z&X-Amz-Expires=86400&X-Amz-Signature=e8c5a2a16de7e059bd1ee55f3d76736823e3fe0583bbb4ab8dd16bb9f792e33c&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-04-14_at_10.55.00_AM.png%22) ![image](https://user-images.githubusercontent.com/20601437/124240983-9d9f6100-db1b-11eb-952f-3c0cc60a910e.png)
Didn't find an existing issue? Go ahead and file a new bug using one of our pre-made issue templates. Didn't find an existing issue? Go ahead and file a new bug using one of our pre-made issue templates.
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/02977615-c003-4b06-9d65-093ad95e6161/Screen_Shot_2021-04-14_at_10.56.17_AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075509Z&X-Amz-Expires=86400&X-Amz-Signature=1153332c6bb3e54f69045c2ff47b3464039bbd4a8bd8a504ed7b2629eadb6ef8&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-04-14_at_10.56.17_AM.png%22](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/02977615-c003-4b06-9d65-093ad95e6161/Screen_Shot_2021-04-14_at_10.56.17_AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075509Z&X-Amz-Expires=86400&X-Amz-Signature=1153332c6bb3e54f69045c2ff47b3464039bbd4a8bd8a504ed7b2629eadb6ef8&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-04-14_at_10.56.17_AM.png%22) ![image](https://user-images.githubusercontent.com/20601437/124241045-aee86d80-db1b-11eb-89eb-f4189019ac3e.png)
Be sure to provide as much information as possible when filing bug reports. A good issue should have steps to reproduce and information on your development environment and expected behavior. Be sure to provide as much information as possible when filing bug reports. A good issue should have steps to reproduce and information on your development environment and expected behavior.
@@ -108,7 +108,7 @@ To file a feature request, select the "Discussions" tab on our GitHub repo or [v
Screenshots, sketches, and sample code are all welcomed! Screenshots, sketches, and sample code are all welcomed!
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/4525f80a-e96f-4e05-8155-b4982df46c25/Screen_Shot_2021-04-14_at_11.08.48_AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075528Z&X-Amz-Expires=86400&X-Amz-Signature=9bfbd045d99d3f3297cfd5d2885da85324d0f2da3ad272376680ca6913b050d5&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-04-14_at_11.08.48_AM.png%22](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/4525f80a-e96f-4e05-8155-b4982df46c25/Screen_Shot_2021-04-14_at_11.08.48_AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075528Z&X-Amz-Expires=86400&X-Amz-Signature=9bfbd045d99d3f3297cfd5d2885da85324d0f2da3ad272376680ca6913b050d5&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Screen_Shot_2021-04-14_at_11.08.48_AM.png%22) ![image](https://user-images.githubusercontent.com/20601437/124241092-bc055c80-db1b-11eb-9205-7e3d7c157af1.png)
Here are some common questions to answer when filing a feature request: Here are some common questions to answer when filing a feature request:
@@ -130,7 +130,7 @@ Add any other context or screenshots about the feature request here.
## Pull Request 🎉 ## Pull Request 🎉
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/fe7dad03-6edc-4ef4-8c3b-303853cd8aec/its-coding-time.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075543Z&X-Amz-Expires=86400&X-Amz-Signature=d49c488e4ec8dd15e10660be6b6fa13a49991771ebed93f395e251ae5a198150&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22its-coding-time.jpeg%22](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/fe7dad03-6edc-4ef4-8c3b-303853cd8aec/its-coding-time.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075543Z&X-Amz-Expires=86400&X-Amz-Signature=d49c488e4ec8dd15e10660be6b6fa13a49991771ebed93f395e251ae5a198150&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22its-coding-time.jpeg%22) ![image](https://user-images.githubusercontent.com/20601437/124241146-c7f11e80-db1b-11eb-9588-d9f578ec004a.png)
Thank you for taking the time to submit a patch and contribute to our codebase. You rock! Thank you for taking the time to submit a patch and contribute to our codebase. You rock!
@@ -177,52 +177,159 @@ Develop is merged into master after the team performs various automated and QA t
# Styleguides 💅 # Styleguides 💅
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/c980959d-4ed2-4b93-97fc-016a9ded3f0f/d1d0f6c27141606521bfa6171bfe2a84.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075603Z&X-Amz-Expires=86400&X-Amz-Signature=94248827f187e1c2628ae1b0ff1aed1475325e2699acc89eb64145a2eb6d6968&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22d1d0f6c27141606521bfa6171bfe2a84.png%22](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/c980959d-4ed2-4b93-97fc-016a9ded3f0f/d1d0f6c27141606521bfa6171bfe2a84.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210423%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210423T075603Z&X-Amz-Expires=86400&X-Amz-Signature=94248827f187e1c2628ae1b0ff1aed1475325e2699acc89eb64145a2eb6d6968&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22d1d0f6c27141606521bfa6171bfe2a84.png%22) ![image](https://user-images.githubusercontent.com/20601437/124241186-d17a8680-db1b-11eb-9a21-3df305674ca9.png)
We use style guides and lint checks to keep our code consistent and maintain best practices. Our team uses Dart's built-in analyzer for linting and enforcing code styles. The full list of analyzer rules can be found below. We use style guides and lint checks to keep our code consistent and maintain best practices. Our team uses Dart's built-in analyzer for linting and enforcing code styles. The full list of analyzer rules can be found below.
## Dart lint rules 📖 ## Dart lint rules 📖
```jsx ```yaml
include: package:pedantic/analysis_options.yaml
analyzer: analyzer:
enable-experiment:
- extension-methods
exclude: exclude:
- lib/**/*.g.dart - packages/*/lib/**/*.g.dart
- example/** - packages/*/example/**
- packages/*/lib/src/emoji
- packages/*/lib/**/*.freezed.dart
- packages/*/test/**
linter: linter:
rules: rules:
# these rules are documented on and in the same order as
# the Dart Lint rules page to make maintenance easier
# https://github.com/dart-lang/linter/blob/master/example/all.yaml
- always_use_package_imports
- avoid_empty_else - avoid_empty_else
- avoid_init_to_null - avoid_relative_lib_imports
- avoid_return_types_on_setters - avoid_slow_async_io
- avoid_web_libraries_in_flutter - avoid_types_as_parameter_names
- await_only_futures
- camel_case_types
- cancel_subscriptions - cancel_subscriptions
- close_sinks - close_sinks
- control_flow_in_finally - control_flow_in_finally
- empty_constructor_bodies
- empty_statements - empty_statements
- hash_and_equals - hash_and_equals
- implementation_imports - invariant_booleans
- library_names - iterable_contains_unrelated_type
- non_constant_identifier_names - list_remove_unrelated_type
- package_names - literal_only_boolean_expressions
- package_prefixed_library_names - no_adjacent_strings_in_list
- prefer_is_not_empty - no_duplicate_case_values
- public_member_api_docs - no_logic_in_create_state
- slash_for_doc_comments - prefer_void_to_null
- sort_constructors_first
- sort_unnamed_constructors_first
- test_types_in_equals - test_types_in_equals
- throw_in_finally - throw_in_finally
- type_init_formals
- unnecessary_brace_in_string_interps
- unnecessary_getters_setters
- unnecessary_statements - unnecessary_statements
- unrelated_type_equality_checks - unrelated_type_equality_checks
- omit_local_variable_types
- use_key_in_widget_constructors
- valid_regexps - valid_regexps
- always_declare_return_types
- always_require_non_null_named_parameters
- annotate_overrides
- avoid_bool_literals_in_conditional_expressions
- avoid_catching_errors
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_positional_boolean_parameters
- avoid_private_typedef_functions
- avoid_redundant_argument_values
- avoid_return_types_on_setters
- avoid_returning_null_for_void
- avoid_shadowing_type_parameters
- avoid_single_cascade_in_expression_statements
- avoid_unnecessary_containers
- avoid_unused_constructor_parameters
- await_only_futures
- camel_case_extensions
- camel_case_types
- cascade_invocations
- constant_identifier_names
- curly_braces_in_flow_control_structures
- directives_ordering
- empty_catches
- empty_constructor_bodies
- exhaustive_cases
- file_names
- implementation_imports
- join_return_with_assignment
- leading_newlines_in_multiline_strings
- library_names
- library_prefixes
- lines_longer_than_80_chars
- missing_whitespace_between_adjacent_strings
- non_constant_identifier_names
- null_closures
- one_member_abstracts
- only_throw_errors
- package_api_docs
- package_prefixed_library_names
- parameter_assignments
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
- prefer_asserts_with_message
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
- prefer_constructors_over_static_methods
- prefer_contains
- prefer_equal_for_default_values
- prefer_expression_function_bodies
- prefer_final_fields
- prefer_final_in_for_each
- prefer_final_locals
- prefer_function_declarations_over_variables
- prefer_generic_function_type_aliases
- prefer_if_elements_to_conditional_expressions
- prefer_if_null_operators
- prefer_initializing_formals
- prefer_inlined_adds
- prefer_int_literals
- prefer_interpolation_to_compose_strings
- prefer_is_empty
- prefer_is_not_empty
- prefer_is_not_operator
- prefer_null_aware_operators
- prefer_single_quotes
- prefer_spread_collections
- prefer_typing_uninitialized_variables
- provide_deprecation_message
- public_member_api_docs
- recursive_getters
- sized_box_for_whitespace
- slash_for_doc_comments
- sort_child_properties_last
- sort_constructors_first
- sort_unnamed_constructors_first
- type_annotate_public_apis
- type_init_formals
- unnecessary_await_in_return
- unnecessary_brace_in_string_interps
- unnecessary_const
- unnecessary_getters_setters
- unnecessary_lambdas
- unnecessary_new
- unnecessary_null_aware_assignments
- unnecessary_null_in_if_null_operators
- unnecessary_nullable_for_final_variable_declarations
- unnecessary_parenthesis
- unnecessary_raw_strings
- unnecessary_string_escapes
- unnecessary_string_interpolations
- unnecessary_this
- use_is_even_rather_than_modulo
- use_late_for_private_fields_and_variables
- use_rethrow_when_possible
- use_setters_to_change_properties
- use_to_and_as_if_applicable
- package_names
- sort_pub_dependencies
- cast_nullable_to_non_nullable
- unnecessary_null_checks
- tighten_type_of_initializing_formals
- null_check_on_nullable_type_parameter
``` ```
+1 -1
View File
@@ -28,7 +28,7 @@ It teaches you how to use this SDK and also shows how to make frequently require
## Example App ## Example App
This repo includes a fully functional example app with setup instructions. This repo includes a fully functional example app with setup instructions.
The example is available under the [example](https://github.com/GetStream/stream-chat-flutter/tree/master/example) folder. The example is available under the [example](https://github.com/GetStream/stream-chat-flutter/tree/master/packages/stream_chat_flutter/example) folder.
## Add dependency ## Add dependency
Add this to your package's pubspec.yaml file, use the latest version [![Pub](https://img.shields.io/pub/v/stream_chat_flutter.svg)](https://pub.dartlang.org/packages/stream_chat_flutter) Add this to your package's pubspec.yaml file, use the latest version [![Pub](https://img.shields.io/pub/v/stream_chat_flutter.svg)](https://pub.dartlang.org/packages/stream_chat_flutter)
+1 -1
View File
@@ -28,7 +28,7 @@ This repo includes a fully functional example app with setup instructions.
The example is available under the [example](https://github.com/GetStream/stream-chat-flutter-core/tree/master/example) folder. The example is available under the [example](https://github.com/GetStream/stream-chat-flutter-core/tree/master/example) folder.
## Add dependency ## Add dependency
Add this to your package's pubspec.yaml file, use the latest version [![Pub](https://img.shields.io/pub/v/stream_chat_flutter.svg)](https://pub.dartlang.org/packages/stream_chat_flutter) Add this to your package's pubspec.yaml file, use the latest version [![Pub](https://img.shields.io/pub/v/stream_chat_flutter_core.svg)](https://pub.dartlang.org/packages/stream_chat_flutter_core)
```yaml ```yaml
dependencies: dependencies:
stream_chat_flutter_core: ^latest_version stream_chat_flutter_core: ^latest_version