fix: details

This commit is contained in:
Deven Joshi
2021-07-16 20:24:50 +05:30
parent 0bc3efdecc
commit a9c9d40ba5
@@ -23,39 +23,39 @@ The changes will be listed by package and a concise changelog will be followed b
* Migrate this package to null safety * Migrate this package to null safety
* Renamed ChannelImage to ChannelAvatar * Renamed `ChannelImage` to `ChannelAvatar`
* Updated StreamChatThemeData.reactionIcons to accept custom builder * Updated `StreamChatThemeData.reactionIcons` to accept custom builder
* Renamed ColorTheme properties to reflect the purpose of the colors * Renamed ColorTheme properties to reflect the purpose of the colors
* ColorTheme.black -> ColorTheme.textHighEmphasis * `ColorTheme.black` -> `ColorTheme.textHighEmphasis`
* ColorTheme.grey -> ColorTheme.textLowEmphasis * `ColorTheme.grey` -> `ColorTheme.textLowEmphasis`
* ColorTheme.greyGainsboro -> ColorTheme.disabled * `ColorTheme.greyGainsboro` -> `ColorTheme.disabled`
* ColorTheme.greyWhisper -> ColorTheme.borders * `ColorTheme.greyWhisper` -> `ColorTheme.borders`
* ColorTheme.whiteSmoke -> ColorTheme.inputBg * `ColorTheme.whiteSmoke` -> `ColorTheme.inputBg`
* ColorTheme.whiteSnow -> ColorTheme.appBg * `ColorTheme.whiteSnow` -> `ColorTheme.appBg`
* ColorTheme.white -> ColorTheme.barsBg * `ColorTheme.white` -> `ColorTheme.barsBg`
* ColorTheme.blueAlice -> ColorTheme.linkBg * `ColorTheme.blueAlice` -> `ColorTheme.linkBg`
* ColorTheme.accentBlue -> ColorTheme.accentPrimary * `ColorTheme.accentBlue` -> `ColorTheme.accentPrimary`
* ColorTheme.accentRed -> ColorTheme.accentError * `ColorTheme.accentRed` -> `ColorTheme.accentError`
* ColorTheme.accentGreen -> ColorTheme.accentInfo * `ColorTheme.accentGreen` -> `ColorTheme.accentInfo`
* ChannelListCore options property is removed in favor of individual properties * `ChannelListCore` options property is removed in favor of individual properties
*options.state -> bool state * `options.state` -> `bool state`
*options.watch -> bool watch * `options.watch` -> `bool watch`
*options.presence -> bool presence * `options.presence` -> `bool presence`
* UserListView options property is removed in favor of individual properties * `UserListView` options property is removed in favor of individual properties
*options.presence -> bool presence * `options.presence` -> `bool presence`
* Renamed ImageHeader to GalleryHeader * Renamed `ImageHeader` to `GalleryHeader`
* Renamed ImageFooter to GalleryFooter * Renamed `ImageFooter` to `GalleryFooter`
* MessageBuilder and ParentMessageBuilder signature is now * `MessageBuilder` and `ParentMessageBuilder` signature is now
``` ```
typedef MessageBuilder = Widget Function( typedef MessageBuilder = Widget Function(
@@ -66,28 +66,28 @@ typedef MessageBuilder = Widget Function(
); );
``` ```
The last parameter is the default MessageWidget The last parameter is the default `MessageWidget`
You can call .copyWith to customize just a subset of properties You can call `.copyWith` to customize just a subset of properties
#### ✅ Added #### ✅ Added
Added video compress options (frame and quality) to MessageInput Added video compress options (frame and quality) to MessageInput
TypingIndicator now has a property called parentId to show typing indicator specific to threads `TypingIndicator` now has a property called `parentId` to show typing indicator specific to threads
#493: add support for messageListView header/footer #493: add support for `MessageListView` header/footer
MessageWidget accepts a userAvatarBuilder `MessageWidget` accepts a `userAvatarBuilder`
Added pinMessage ui support Added `pinMessage` ui support
Added MessageListView.threadSeparatorBuilder property Added `MessageListView.threadSeparatorBuilder` property
Added MessageInput.onError property to allow error handling Added `MessageInput.onError` property to allow error handling
Added GalleryHeader/GalleryFooter theme classes Added `GalleryHeader`/`GalleryFooter` theme classes
#### 🐞 Fixed #### 🐞 Fixed
#483: Keyboard covers input text box when editing #483: Keyboard covers input text box when editing
message message
Modals are shown using the nearest Navigator to make using the SDK easier in a nested navigator use case `Modals` are shown using the nearest `Navigator` to make using the SDK easier in a nested navigator use case
#484: messages don't update without a reload #484: messages don't update without a reload
MessageListView not rendering if the user is not a member of the channel `MessageListView` not rendering if the user is not a member of the channel
Fix MessageInput overflow when there are no actions Fix `MessageInput` overflow when there are no actions
Minor fixes and improvements Minor fixes and improvements
### Migrating to 2.0 for `stream_chat_flutter` ### Migrating to 2.0 for `stream_chat_flutter`
@@ -110,24 +110,24 @@ remedy the issue:
1) Replace the offending class names with the revised class names 1) Replace the offending class names with the revised class names
* ChannelImage -> ChannelAvatar * `ChannelImage` -> `ChannelAvatar`
* ImageHeader -> GalleryHeader * `ImageHeader` -> `GalleryHeader`
* ImageFooter -> GalleryFooter * `ImageFooter` -> `GalleryFooter`
2) The new version comes with revised color names since the previous names do not suit light/dark mode 2) The new version comes with revised color names since the previous names do not suit light/dark mode
nomenclature. Make sure any old colors used from theme are changed over to the new theme color names: nomenclature. Make sure any old colors used from theme are changed over to the new theme color names:
* ColorTheme.black -> ColorTheme.textHighEmphasis * `ColorTheme.black` -> `ColorTheme.textHighEmphasis`
* ColorTheme.grey -> ColorTheme.textLowEmphasis * `ColorTheme.grey` -> `ColorTheme.textLowEmphasis`
* ColorTheme.greyGainsboro -> ColorTheme.disabled * `ColorTheme.greyGainsboro` -> `ColorTheme.disabled`
* ColorTheme.greyWhisper -> ColorTheme.borders * `ColorTheme.greyWhisper` -> `ColorTheme.borders`
* ColorTheme.whiteSmoke -> ColorTheme.inputBg * `ColorTheme.whiteSmoke` -> `ColorTheme.inputBg`
* ColorTheme.whiteSnow -> ColorTheme.appBg * `ColorTheme.whiteSnow` -> `ColorTheme.appBg`
* ColorTheme.white -> ColorTheme.barsBg * `ColorTheme.white` -> `ColorTheme.barsBg`
* ColorTheme.blueAlice -> ColorTheme.linkBg * `ColorTheme.blueAlice` -> `ColorTheme.linkBg`
* ColorTheme.accentBlue -> ColorTheme.accentPrimary * `ColorTheme.accentBlue` -> `ColorTheme.accentPrimary`
* ColorTheme.accentRed -> ColorTheme.accentError * `ColorTheme.accentRed` -> `ColorTheme.accentError`
* ColorTheme.accentGreen -> ColorTheme.accentInfo * `ColorTheme.accentGreen` -> `ColorTheme.accentInfo`
3) We decided to make messages easier to customize and now supply the default implementation of the 3) We decided to make messages easier to customize and now supply the default implementation of the
messages in the builder - so you can now customize a single parameter without having to redo the messages in the builder - so you can now customize a single parameter without having to redo the
@@ -151,15 +151,15 @@ default implementation.
* Migrate this package to null safety * Migrate this package to null safety
* channelsBloc.queryChannels(), ChannelListCore options param/property is removed in favor of individual params/properties * channelsBloc.queryChannels(), ChannelListCore options param/property is removed in favor of individual params/properties
* options.state -> bool state * `options.state` -> `bool state`
* options.watch -> bool watch * `options.watch` -> `bool watch`
* options.presence -> bool presence * `options.presence` -> `bool presence`
* usersBloc.queryUsers(), UserListCore options param/property is removed in favor of individual params/properties * `usersBloc.queryUsers()`, `UserListCore` options param/property is removed in favor of individual params/properties
* options.presence -> bool presence * `options.presence` -> `bool presence`
#### ✅ Added #### ✅ Added
* Monitor connection using connectivity_plus package * Monitor connection using `connectivity_plus` package
#### 🐞 Fixed #### 🐞 Fixed
@@ -191,9 +191,9 @@ to a more type safe and sound approach by changing over to explicit parameters.
1) Change over Core widget implementations by using the explicit parameters instead of the options map. 1) Change over Core widget implementations by using the explicit parameters instead of the options map.
Use these explicit parameters in the widget constructor instead of the option keys: Use these explicit parameters in the widget constructor instead of the option keys:
* options.state -> bool state * `options.state` -> `bool state`
* options.watch -> bool watch * `options.watch` -> `bool watch`
* options.presence -> bool presence * `options.presence` -> `bool presence`
2) Change over query calls in the BLoCs in the same way (change from options map to explicit parameters 2) Change over query calls in the BLoCs in the same way (change from options map to explicit parameters
in the constructor) in the constructor)
@@ -203,21 +203,21 @@ in the constructor)
#### 🛑️ Breaking Changes from 1.5.3 #### 🛑️ Breaking Changes from 1.5.3
* Migrate this package to null safety * Migrate this package to null safety
* ConnectUserWithProvider now requires tokenProvider as a required param. (Removed from the constructor) * `ConnectUserWithProvider` now requires `tokenProvider` as a required param. (Removed from the constructor)
* client.disconnect() is now divided into two different functions * `client.disconnect()` is now divided into two different functions
* client.closeConnection() -> for closing user websocket connection. * `client.closeConnection()` -> for closing user websocket connection.
* client.disconnectUser() -> for disconnecting user and resetting client state. * `client.disconnectUser()` -> for disconnecting user and resetting client state.
* client.devToken() now returns a Token model instead of String. * `client.devToken()` now returns a Token model instead of String.
* ApiError is removed in favor of StreamChatError * `ApiError` is removed in favor of `StreamChatError`
* StreamChatError -> parent type for all the stream errors. * `StreamChatError` -> parent type for all the stream errors.
* StreamWebSocketError -> for user websocket related errors. * `StreamWebSocketError` -> for user websocket related errors.
* StreamChatNetworkError -> for network related errors. * `StreamChatNetworkError` -> for network related errors.
* client.queryChannels(), channel.query() options param is removed in favor of individual params * `client.queryChannels()`, `channel.query()` options param is removed in favor of individual params
* option.state -> bool state * `option.state` -> `bool state`
* option.watch -> bool watch * `option.watch` -> `bool watch`
* option.presence -> bool presence * `option.presence` -> `bool presence`
* client.queryUsers() options param is removed in favor of individual params * `client.queryUsers()` options param is removed in favor of individual params
* option.presence -> bool presence * `option.presence` -> `bool presence`
* Added typed filters * Added typed filters
#### 🐞 Fixed #### 🐞 Fixed
@@ -229,13 +229,13 @@ in the constructor)
#### ✅ Added #### ✅ Added
* New Location enum is introduced for easily changing the client location/baseUrl. * New Location enum is introduced for easily changing the client location/baseUrl.
* New client.openConnection() and client.closeConnection() is introduced to connect/disconnect user ws connection. * New `client.openConnection()` and `client.closeConnection()` is introduced to connect/disconnect user ws connection.
* New client.partialUpdateMessage and channel.partialUpdateMessage methods * New `client.partialUpdateMessage` and `channel.partialUpdateMessage` methods
* connectWebSocket parameter in connect user calls to use the client in "connection-less" mode. * `connectWebSocket` parameter in connect user calls to use the client in "connection-less" mode.
#### 🔄 Changed #### 🔄 Changed
* baseURL is now deprecated in favor of using Location to change data location. * `baseURL` is now deprecated in favor of using Location to change data location.
### Migrating to 2.0 for `stream_chat` ### Migrating to 2.0 for `stream_chat`
@@ -259,25 +259,25 @@ remedy the issue:
2) We added more nuance to the `disconnectUser()` by adding two new methods - one to close the connection 2) We added more nuance to the `disconnectUser()` by adding two new methods - one to close the connection
and the other to disconnect the user. This allows more fine-grained control for diconnection. and the other to disconnect the user. This allows more fine-grained control for diconnection.
* client.closeConnection() -> for closing user websocket connection. * `client.closeConnection()` -> for closing user websocket connection.
* client.disconnectUser() -> for disconnecting user and resetting client state. * `client.disconnectUser()` -> for disconnecting user and resetting client state.
3) We refactored how we handle errors - new error types are now introduced instead of ApiError. 3) We refactored how we handle errors - new error types are now introduced instead of ApiError.
* StreamChatError -> parent type for all the stream errors. * `StreamChatError` -> parent type for all the stream errors.
* StreamWebSocketError -> for user websocket related errors. * `StreamWebSocketError` -> for user websocket related errors.
* StreamChatNetworkError -> for network related errors. * `StreamChatNetworkError` -> for network related errors.
4) We changed over from a map full of options to a more type safe and sound approach by changing over to explicit parameters. 4) We changed over from a map full of options to a more type safe and sound approach by changing over to explicit parameters.
Use these explicit parameters in the query parameters instead of the option keys: Use these explicit parameters in the query parameters instead of the option keys:
* client.queryChannels(), channel.query() options param is removed in favor of individual params * `client.queryChannels()`, `channel.query()` options param is removed in favor of individual params
* option.state -> bool state * `option.state` -> `bool state`
* option.watch -> bool watch * `option.watch` -> `bool watch`
* option.presence -> bool presence * `option.presence` -> `bool presence`
* client.queryUsers() options param is removed in favor of individual params * `client.queryUsers()` options param is removed in favor of individual params
* option.presence -> bool presence * `option.presence` -> `bool presence`
5) We added type safe filters to make filtering in the app easier. Change over the filters to the 5) We added type safe filters to make filtering in the app easier. Change over the filters to the
new implementation. new implementation.