Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a StreamChatConfiguration class to hold various global UI defaults #1125

Closed
GroovinChip opened this issue May 6, 2022 · 0 comments · Fixed by #1128
Closed

Create a StreamChatConfiguration class to hold various global UI defaults #1125

GroovinChip opened this issue May 6, 2022 · 0 comments · Fixed by #1128
Assignees
Labels
enhancement New feature or request

Comments

@GroovinChip
Copy link
Contributor

GroovinChip commented May 6, 2022

Per conversation with @imtoori, we should remove non-theme related UI configuration options from StreamChatThemeData and put them into their own class, StreamChatConfiguration, which will be a property in the StreamChat widget just like StreamChatThemeData.

StreamChatConfiguration should contain a method that will look up the widget tree to find the nearest instance, like InheritedWidgets do.

The following properties would be moved from StreamChatThemeData to StreamChatConfiguration:

  • final Widget Function(BuildContext, User) defaultUserImage
  • final Widget Function(BuildContext, User)? placeholderUserImage
  • final List<StreamReactionIcon> reactionIcons

This class would be appropriate for any future global UI configuration options that are not strictly theme related.

@GroovinChip GroovinChip added the enhancement New feature or request label May 6, 2022
@GroovinChip GroovinChip self-assigned this May 6, 2022
GroovinChip added a commit that referenced this issue May 6, 2022
@imtoori imtoori assigned imtoori and unassigned GroovinChip and imtoori Jul 1, 2022
@imtoori imtoori self-assigned this Jul 12, 2022
imtoori added a commit that referenced this issue Jul 15, 2022
* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>
@imtoori imtoori closed this as completed Jul 15, 2022
imtoori added a commit that referenced this issue Sep 30, 2022
* chore(flutter): change BoxFit of VLC player

* chore(flutter): remove unused imports

* chore(flutter sample): tweak breakpoints, ignore some lints

* chore(flutter): minor code readability improvements

* chore(flutter): extract out platform_widget_builder to its own "package"

* fix(flutter): fix a theme bug with PlatformDialog

* chore(persistence): test plugin on macOS

* Generated the macos runner for the example
* Re-generated the android runner because it was using the v1 embedding

* chore(persistence): test plugin on web

* chore(persistence): add Windows runner to example

* chore(persistence): add linux runner to example

* feat(flutter): branded context menus

* chore(flutter): fix bug where lines would be shown in between menu items

* chore(flutter): import/export fixes

* chore(flutter): move file

* chore(flutter): /src/channel

Also refactors several /channel widgets to use class widgets instead of methods. Some methods, however, have been left as those cases do actually produce cleaner code.

chore(flutter): fix bad directory placement

chore(flutter): fix bad directory placement

* chore(flutter): more directory organization

* chore(flutter): navigator improvements

* chore(flutter): void async improvements

* chore(flutter): fix imports/exports

* docs(flutter): documentation updates for /attachment

* docs(flutter): doc updates

For:
* /avatars
* /bottom_sheets
* /channel

* feat(flutter): selectable message text on web & desktop

* Squashed commit of the following:

commit 50b249edb6b2ee2d744e4e00e97f81979026aab4
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:55:05 2022 -0400

    chore(flutter): wrapping up docs

commit 7d289ae45e20c0109bcdb4496f7b693e2adc4ef9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:42:09 2022 -0400

    chore(flutter): more docs & typedefs

commit 6b36f6f3864f15b52e441d58ee7e62577ff8f843
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:22:34 2022 -0400

    chore(flutter): more doc fixes

commit 1a9a6de3c836e9ee5d6373033f1d9a7da830bddc
Merge: 59188f5d 88abf99
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 13:17:52 2022 -0400

    Merge branch 'desk_web_dev' into utils

commit 59188f5d9c1dd68edd531086cdfd9d42faf93fc8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:48:16 2022 -0400

    chore(flutter): add todo

commit 9b4a986ca5757f284677eb5335637d11ccb1d642
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:43:12 2022 -0400

    chore(flutter): more docs and typedefs updates

commit 8786d2dd82b94f673b36371fb2b33a1ebcc9840a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:14:14 2022 -0400

    chore(flutter): more typedef and doc template updates

commit 9e906beb0e7a054c13a32c8c8c5b0e2a9e27bb21
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 10:46:04 2022 -0400

    chore(flutter): create /uitils and move files

    Fixes subsequent imports/exports

* chore(flutter): update file_selector plugin

* chore(flutter): include utils/typedefs.dart in library export

* Squashed commit of the following:

commit 501228afa614b0d740858dec1ebedd3f671e2c96
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 16:18:12 2022 -0400

    feat(flutter): ensure fullscreen media feature works on ALL platforms

commit cd0aab92bc7d90af03258829a5aae66125578af5
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 14:26:48 2022 -0400

    feat(flutter): working conditional import for initializing VLC

* fix(flutter): remove stray import causing web to break

* chore(flutter): ensure context menus can show on web in sample

* feat(flutter) FullScreenMedia context menus for Web

* feat(flutter): branded context menus

* chore(flutter): no success dialog on file download (web)

* chore(flutter): remove platform UI packages

* chore(flutter): properly show/hide delete message menu item

Also deletes deprecated PlatformDialog

* feat(flutter): 'view info' channel preview context menu

* feat(flutter): more menu actions for ChannelPreview

Also new ConfirmationDialog and add missing docs

* feat(flutter/localizations): translations related to channel mutes

* chore(flutter): remove prints and fix super.didChangeDependencies order

* chore(flutter): rename some things in ChannelBottomSheet

* chore(flutter): more sensible name in TypingIndicator

* chore(flutter): remove unused code in MessageWidget

* feat(flutter): ChannelInfoDialog

* chore(flutter): organize files more

Also refactors out some internal MessageListView widgets

* fix(flutter): fix render overflow issue

* chore(flutter): move MediaListView

* chore(flutter): remove unused imports

* fix(flutter): fix weird share menu placement on macos

* chore(flutter): clean up fullscreenmedia conditional imports

* chore(flutter): adjust package exports

* chore(flutter): update dart_vlc

* chore(flutter): clean up platform checks

* chore(flutter): run flutter format on lib

* chore(flutter): minor sample cleanup

* chore(flutter): ensure vlc doesn't get initialized in non-desktop testing environments

* test(flutter): reformat existing tests

* fix(flutter): pass onThreadReplyTap down to ThreadReplyButton

* First round of new tests

commit a90bed427521123fdaa4c5e276744a224fac2b68
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:34:19 2022 -0400

    test(flutter): Username test

commit d7bc179c20eae2713c9248191518bf1d955104a9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:30:47 2022 -0400

    chore(flutter): remove unused imports

commit 09c9517de2917dc5ccd7de019b50a7875386991c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:29:58 2022 -0400

    test(flutter): ThreadSeparator test

commit 9422d1129211aaaac9a51ca4d29fe94bde06593c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:19:43 2022 -0400

    chore(flutter): rename LoadingIndicator parameter

commit 63af943a1a16e78a1e0377d76176420bd7e1fbc7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 11:47:46 2022 -0400

    test(flutter): FloatingDateDivider test

commit d8e67cf6fca2b76ac091a9047104c0910d5fdfef
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 15:19:39 2022 -0400

    test(flutter): InputAttachment tests

commit d2b7d5dd3304c8be6f74bf5b0281d7a95dd027ec
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:41:40 2022 -0400

    test(flutter): DmCheckbox tests

commit 01567f235a2f00880bb530b232489e3790159b25
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:16:08 2022 -0400

    chore(flutter): remove unused imports

commit c9625858e840df6082506ae9374f1d2710053cbd
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:15:44 2022 -0400

    test(flutter): CountdownButton tests

commit d770474bb11ee8b36a3b0e18db31695fd812a6b3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:11:37 2022 -0400

    test(flutter): CommandButton tests

commit 95e63706d1dd971373d39d471894a38bb2a634f2
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:07:43 2022 -0400

    test(flutter): ClearInputItem tests

commit 4156586945c91408cb7943b6c57c2ae560a2857c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:03:59 2022 -0400

    test(flutter): AttachmentButton tests

commit bba042806326999aabf338636c6e33900de86160
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 13:00:42 2022 -0400

    test(flutter): golden test for SendButton

commit e2cd0f00b9eeb8d81399f6316edb298234de12dc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:52 2022 -0400

    chore(flutter): deal with lints

commit b4e045f9cbd54c4d42c3f30acfe72d5f8ccf9d82
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:00 2022 -0400

    test(flutter): SendButton test

commit 4e3d5db0bddb97e508fcdda2e7272fe31e70808f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:38:21 2022 -0400

    test(flutter): KeyboardShortcutRunner tests

commit 0dfd7a0bd6fd6bc76902e87f62ac29da0b01bac6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:17:30 2022 -0400

    test(flutter): UploadProgressIndicator

commit ec50c8aea716bdc19e4308e367c8331211c61ea3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:47:53 2022 -0400

    test(flutter): SendingIndicator tests

commit e87bd1450fb5bfb713a867c7e831968f76428848
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:32:35 2022 -0400

    test(flutter): more gallery tests

commit 93d46ca649277fe6d289a70f0bdd23584fd0ab94
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:17:29 2022 -0400

    test(flutter): remove bad mock

commit c7b03a39f0f3ca7a334dfb908f3473b5e4deab38
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 10:45:45 2022 -0400

    chore(flutter): minor refactor

commit 33aeb7b5ed398287cb930f3b4702f47a82fce2c6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:49:07 2022 -0400

    test(flutter): MessageDialog tests

commit 220b3ae591e135d9606254666e04d4771945d0ae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:42:51 2022 -0400

    test(flutter): DeleteMessageDialog tests

commit db508478bb96749971f563de87b6c2a49e1e4e57
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:46:41 2022 -0400

    test(flutter): ConfirmationDialog tests

commit e8172dad6bfe18f40b65554ef2c6c16d7437cb56
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:35:50 2022 -0400

    test(flutter): ChannelInfoDialog test

commit 04c21458a601af3c3f4a5fc5ce9e8b61493c208c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:57:02 2022 -0400

    test(flutter): DownloadMenuItem tests

commit afee1dace543e2fef8543f9b035f684b2ee00f3b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:53:21 2022 -0400

    test(flutter): StreamChatContextMenuItem tests

commit 4616b1a973d0cf5224b5a71914c9908339c8462a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:02:07 2022 -0400

    test(flutter): golden test for ErrorAlertSheet

commit 22fb8241ae333f57ade8e8550f87695929836b2b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:59:01 2022 -0400

    test(flutter): golden test for EditMessageSheet

commit 0be79964827f344ba66e99cb9e5bd3d627aed01d
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:56:08 2022 -0400

    test(flutter): golden test for AttachmentModalSheet

commit 0ae842a98143478885bc211c788353c8bca57b40
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:53:26 2022 -0400

    test(flutter): GroupAvatar tests

commit 697d294c6c7e1bba1d9089a53d5c60d8609ea64e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:30:25 2022 -0400

    test(flutter): UserAvatar tests

commit c03ba4124068c83d3a49c4db00ca18a659801c23
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 11:04:55 2022 -0400

    test(flutter): ErrorAlertSheet test

commit 3414f28530b0e22614b83af20361f21dd4967fae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:45:37 2022 -0400

    test(flutter): EditMessageSheet test

commit b2962b641dfbf14c11d3da7f80a4be27f9980d90
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:37:18 2022 -0400

    test(flutter): AttachmentModalSheet test

    test(flutter): AttachmentModalSheet test

    chore(flutter): update exports

commit 7d7e278692c65dea84e7ef3b2d3c1311ebb28408
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:52:29 2022 -0400

    test(flutter): more organization

commit 4479b649835acc62d8a0553f9505a0af8077abfc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:33:06 2022 -0400

    test(flutter): tweak AttachmentHandler tests

commit b4a41106567e3c08105ce8dc272b1ebf40b3b0bb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:24:00 2022 -0400

    chore(flutter): streamline attachment handling

    * MobileAttachmentHandler for streamlining related code for mobile
    * Break out DesktopAttachmentHandler into its own file
    * Update minSdk version in Android runner

commit bfb06d31b79cd941d8b611c7e89e2d7728a394cb
Merge: a44b3b39 15c83d0
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 13:00:27 2022 -0400

    Merge branch 'desk_web_dev' into tests

commit a44b3b390adc25a00d1597bb1460973e8555fa9e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:59:14 2022 -0400

    chore(flutter): start cleaning up test dir

commit de104a3491d942d12f72dd66152b62c6e8b10a5b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:56:48 2022 -0400

    test(flutter): VideoAttachment test

commit 4748a1c081a3272f7fdbdeb69c501344e221e01e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:52:30 2022 -0400

    test(flutter): UrlAttachment test

commit 54408ef70f07c60adf8350553fdf3173e5edd7c7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:48:24 2022 -0400

    test(flutter): ImageGroup test

commit 811cff069e490c6bd03be0c0ac2f5ec86fb990e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:46:04 2022 -0400

    test(flutter): ImageAttachment test

commit a72677976c6524e76793432b0520e99cac4e7a62
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:34:06 2022 -0400

    test(flutter): GiphyAttachment test

commit 32ddac022e2c149726b4b6607f41850d556055b8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:28:01 2022 -0400

    test(flutter): FileAttachment test

commit 6534958cab775be1fb9bda56e67caa4746aa1502
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:14:25 2022 -0400

    test(flutter): AttachmentError test

commit 718a83c10c4e883ce01c9c002ced24de671d30b9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:06:43 2022 -0400

    test(flutter): AttachmentUploadStateBuilder test

commit a05108c460e36b2e425e4ec06f8bf408b0c20e97
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:44:34 2022 -0400

    chore(flutter): minor cleanup

commit 6e73038ac3714a2bd96f8c587af7f743bf2b2023
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:23 2022 -0400

    test(flutter): AttachmentTitle test

commit c6ee52ec951877feef31dc1427eec3bfc2bd8fcb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:11 2022 -0400

    test(flutter): minor cleanup

commit 09845cd845aa8c546043f4ae04805a8e6f53f61c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:42:52 2022 -0400

    chore(flutter): improve device segmentation & vlc init check

commit 172e6b25a064b5147b7641f29ebff3c920156f70
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 10:37:43 2022 -0400

    test(flutter): attachment_handler tests

commit 5f5a91c70cd7c069f39518f1f50bb74ab484c7e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:27 2022 -0400

    test(flutter): test PlatformWidgetBuilder & DesktopWidgetBuilder

commit 5a457b7557cb4127b74ee022389a24e5e9150601
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:05 2022 -0400

    chore(flutter): make base platform widgets testable

    Also fix environment check in stream_chat.dart

commit 88fb16018103c581236aeebd978e705b223b2243
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:59:19 2022 -0400

    chore(flutter): add readme to conditional_parent_widget library

commit e9307f8a6a5639d59358c245f033f9d9b209fe20
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:54:54 2022 -0400

    test(flutter): ConditionalParentBuilder tests

* chore(flutter): add thumblr dependency

* chore(flutter): fix typos

* chore(flutter): properly order super calls

* feat(flutter) video thumbnails on desktop

* chore(flutter): fix incorrect file name

* chore(flutter): fix docs for generateVideoThumbnail

* chore(flutter): remove incorrect comment

* chore(flutter): run flutter format

* chore(flutter): ignore lint

* chore(flutter): flutter format

* chore(flutter): fix tests

* fix(flutter): fix MessageListView bug caused by rebase

* chore(flutter): migrate desktop stuff to v4/stream_message_input.dart

* chore(flutter): migrate over desktop changes for message replies

* chore(flutter): fix message replies on desktop

* chore(flutter): address lints

* chore(flutter): update dart_vlc

* chore(flutter): melos clean & update photo_view

* fix(ui): port #1118

* fix(ui): use attachmentButtonBuilder

* fix(ui): fix file attachment

* format

* fix(ui): fix message bottom row

* chore(flutter sample): use modern window look

* chore(flutter): pass userAvatarBuilder through to MessageWidgetContent

Also pass onUserAvatarTap & userAvatarBuilder through to UserAvatarTransform

* chore: fix MessageWidget menu actions

* fix(flutter): fix "enter" sending empty messages in StreamMessageInput

* fix(flutter): fix Giphys not loading in quoted messages

* chore(flutter): update thumblr

* feat(flutter): keyboard navigation for gallery items

* fix(ui): fix double date divider

* fix(ui): add scroll to bottom back

* fix(ui): use mouse region

* fix(ui): remove backbutton in desktop example

* fix(ui): rename full screen media widget

* feat(flutter): elevation prop for gallery header

* chore(flutter): update dart_vlc

* fix(flutter): fix "show in chat" showing when it shouldn't

* fix(flutter): fix "show in chat" for mobile

* docs(flutter): minor doc update

* chore(flutter): add onMessageSwiped in example app

* chore(flutter): pass usernameBuilder through to BottomRow

* fix(flutter): hacky fix for chonky link previews

* fix(flutter): fix chonky text messages

* feat(flutter): press "esc" to close gallery

Also refactors KeyboardShortcutRunner API

* chore(flutter): fix innaccurate name

* fix(ui): fix attachment + long text sizing

* add key to channelpage

* fix(ui): better example

* fix format

* fix example

* chore(flutter): revert modern window look

* improvement(flutter): improve `GalleryNavigationItem`

* Make buttons more visible
* Spacing from the sides of the screen

* fix video thumbnail

* fix split view

* fix(ui): fix giphy in thread

* feat(flutter): desktop message reactions

commit 4b880ecb6d4dcbf315a7d41d863174817a9c530a
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Thu Jun 9 12:25:21 2022 -0400

    fix(flutter): fixes for desktop reactions

    * Fix reactions for reverse messages
    * Ensure reactions near the edges of MessageListView show properly

commit f511513
Author: Salvatore Giordano <salvatoregiordanoo@gmail.com>
Date:   Thu Jun 9 16:43:03 2022 +0200

    fix(ui): fix DesktopReactionBuilder and Portal

commit c488564
Merge: 2b710a2 72b34c2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Wed Jun 8 14:12:44 2022 -0400

    Merge branch 'desk_web_dev' into desktop_reactions

commit 2b710a2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:19:12 2022 -0400

    chore(flutter): add debug props

commit e24dabc
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:00:03 2022 -0400

    feat(flutter): first pass at desktop reactions popup on mouse hover

* fix(flutter): potential fix for #1199

* fix(flutter): fix non-reversed reactions placement

* refactor(flutter): extract bottom reaction, stacked reaction

with debug props

* fix(flutter): fixes for desktop reactions

* Fix bottom row being rendered above reaction buttons
* Fix padding issues related to avatars

* chore(flutter): add back lost changes from 2b1fb6a

Also removed commented code

* chore(flutter): stacked reactions update

* Show "You" if userId matches the reaction username (per design)
* Ensure long names don't throw off alignment

* chore(flutter): format

* fix(ui): fix mime type generation

* chore(flutter): tweak desktop video

* chore(flutter): add some missing things from develop

* merge develop

* fix merge

* fix merge

* format

* fix tests

* increate test action timeout

* remove test

* refactor(ui,core): remove deprecated code and cleanup

* run builder

* update coverage threasholds

* refactor(ui): remove arrow function from countdown button

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* update comment

* fix(ui): fix attachment + link solution

* fix(ui): fix attachment + link solution

* chore(flutter) update changelog and version

* chore(localizations): update changelog and versions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* fix example

* fix deps

* fix(ui): fix enter sending the message while in slowmode

* fix(ui): fix reaction list

* fix web

* fix(ui): fix image download when using assetUrl

* fix(ui): fix typo in changelog

* fix(ui): fix gallery navigation

* fix(ui): fix giphy sending size

* fix(ui): add keyboard shorcuts to gallery view

* fix(ui): fix gallery footer

* fix(core): allow scroll notification bubbling in lazy load scroll view

* fix(ui): fix lazy load scroll view

* fix(ui): fix loading to unread position

* fix(ui): fix last message preview

* chore(ui): update changelog

* fix tests

* fix(llc): fix connecting while connecting and disconneting (#1237)

* fix(llc): fix connecting while connecting and disconneting

* chore(llc): update changelog

* chore(llc): add test

* chore(llc): improve test

* fix(llc): _resetRequestFlags regardless of the connection status

* feat(llc): add support for AttachmentFileUploaderProvider. (#1246)

* feat(llc): add support for `AttachmentFileUploaderProvider`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Remove deprecated attachmentFileUploader field.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* port no localization

* fix(ui): fix jiffy locale initialization (#1255)

* fix(ui): fix jiffy locale initialization

* chore(ui): update changelog

* fix(ui): cleanup

* chore(llc,core,ui,persistence,localizations): align changelog

* chore(llc,core,ui,persistence,localizations): add links to 4.x changelogs

* fix(ui): fix date divider not showing (#1259)

* fix(ui): fix date divider not showing

* chore(ui): update changelog

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix separator

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* chore(ui): add contextmenu requirements for web (#1261)

* fix unread separator

* feat(ui): `StreamChatConfiguration` class (#1128)

* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* feat(ui, core): add StreamAutocomplete (#1263)

* feat(ui, core): add stream_autocomplete.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(core, ui): refactor message input controller

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): minor fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add StreamAutocompleteOptions widget

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* Update packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

* fix(ui): cleanup

* chore(core, ui): cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): ignore no empty block

* chore(ui): more cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix command button for bigger screens, other fixes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* fix(ui): increase default file limit to 100MB (#1279)

* fix(ui): increase default file limit to 100MB

* Update packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart

* fix(ui): export kDefaultMaxAttachmentSize and use it in `StreamAttachmentPicker` default

* feat(ui): show dialog after clicking on the camera button and permission is denied (#1262)

* feat(ui): show dialog after clicking on the camera button and permission is denied

* chore(ui): update changelog

* Remove permission_handler plugin and refactor

* cleanup

* cleanup

* add tests

* fix(ui): reset the permission state on resume

* cleanup

* fix concurrent calls

* fix(ui): cleanup

* fix(ui): add try catch

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes (#1285)

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes

* fix(llc): do not save failed messages with attachments on web

* fix(llc): replace every with any

* chore(llc): add test

* fix analysis

* fix analysis

* chore(llc,core,ui,persistence): align changelog with v4

* fix(ui): do not linkify system message mentions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec (#1289)

* chore(ui): update deps

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(ui): publish beta.2

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController (#1291)

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController

* chore(core,ui): update changelog

* fix(ui): fix exports

* chore(ui): add tests

* chore(ui): add StreamMemberGridTile typedef

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* fix(ui): do not send empty message

* refactor(ui,localization): removed emoji picker and connected (#1292)

* refactor(ui,localization): removed emoji picker and connected

* chore(ui,localizations): update changelog

* chore(repo): update ui coverage threashold

* doc(ui): add autocomplete_triggers guide

* chore(ui): add tests for isOnlyEmoji

* chore(ui): add tests for isOnlyEmoji

* feat(ui): add `StreamAutocompleteTrigger.triggerOnlyAfterSpace`

* fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): flutter format

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix `stopTyping` unhandled exceptions when network is off or spotty. (#1296)

* feat(llc, ui): Introduce `keyStrokeHandler` to properly handle keyStrokes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): add key_stroke_handler_test.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(core): only handle the channel list event if the state is success.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(llc): add `hide_history` flag in `channel.addMembers`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Convert positional argument to optional arguments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): update tests

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* perf: improve image resizing

* fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): Added `thumbnailSize`, `thumbnailResizeType`, and `thumbnailCropType` params to `StreamMessageWidget` and `StreamAttachmentPicker` to customize the appearance of image thumbnails.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* Release v4.5.0 (#1308)

* chore(llc, ui, core): bump version to v4.5.0

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui, core): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* third party video integration

* fix llc

* refactor: clean up and add docs

* chore(llc): update changelog

* chore(llc): add tests

* chore(llc): add more tests

* fix analysis

* chore(llc): add more tests

* chore(llc): add more tests

* fix(llc): only start listening to event once connected.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): move files to correct folders.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): Fix message text hiding because of a flutter bug (#1327)

* fix(ui): remove clip

* chore(ui): update changelog

* cleanup

* fix(ui): hitting "enter" on the android keyboard sends the message instead of going to a new line.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add support for additional text field params in message input.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* remove print

* chore(llc,core,ui): update pubspec and changelogs (#1333)

* fix(ui): show placeholder for web video thumbs

* fix file download on web

* fix reply and show buttons

* remove tests

* treat svg as files

* fix(ui): change default image resize to clip

* solve some todos

* polish v5 fixing analysis issues

* feat(ui): stream attachment picker bottom sheet (#1336)

* refactor(ui): improve stream_attachment_handler.dart, add stream_attachment_picker_bottom_sheet.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add copyWith in command_button.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): remove permission_manager.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): some fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): fix lints, add doc comments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update melos and flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* remove todo

* update changelog

* update changelogs

* revert

* update coverage threasholds

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: GroovinChip <groovinchip@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sacha Arbonel <sacha.arbonel@hotmail.fr>
kanat pushed a commit that referenced this issue May 1, 2023
* chore(flutter): change BoxFit of VLC player

* chore(flutter): remove unused imports

* chore(flutter sample): tweak breakpoints, ignore some lints

* chore(flutter): minor code readability improvements

* chore(flutter): extract out platform_widget_builder to its own "package"

* fix(flutter): fix a theme bug with PlatformDialog

* chore(persistence): test plugin on macOS

* Generated the macos runner for the example
* Re-generated the android runner because it was using the v1 embedding

* chore(persistence): test plugin on web

* chore(persistence): add Windows runner to example

* chore(persistence): add linux runner to example

* feat(flutter): branded context menus

* chore(flutter): fix bug where lines would be shown in between menu items

* chore(flutter): import/export fixes

* chore(flutter): move file

* chore(flutter): /src/channel

Also refactors several /channel widgets to use class widgets instead of methods. Some methods, however, have been left as those cases do actually produce cleaner code.

chore(flutter): fix bad directory placement

chore(flutter): fix bad directory placement

* chore(flutter): more directory organization

* chore(flutter): navigator improvements

* chore(flutter): void async improvements

* chore(flutter): fix imports/exports

* docs(flutter): documentation updates for /attachment

* docs(flutter): doc updates

For:
* /avatars
* /bottom_sheets
* /channel

* feat(flutter): selectable message text on web & desktop

* Squashed commit of the following:

commit 50b249edb6b2ee2d744e4e00e97f81979026aab4
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:55:05 2022 -0400

    chore(flutter): wrapping up docs

commit 7d289ae45e20c0109bcdb4496f7b693e2adc4ef9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:42:09 2022 -0400

    chore(flutter): more docs & typedefs

commit 6b36f6f3864f15b52e441d58ee7e62577ff8f843
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:22:34 2022 -0400

    chore(flutter): more doc fixes

commit 1a9a6de3c836e9ee5d6373033f1d9a7da830bddc
Merge: 59188f5d 88abf99
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 13:17:52 2022 -0400

    Merge branch 'desk_web_dev' into utils

commit 59188f5d9c1dd68edd531086cdfd9d42faf93fc8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:48:16 2022 -0400

    chore(flutter): add todo

commit 9b4a986ca5757f284677eb5335637d11ccb1d642
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:43:12 2022 -0400

    chore(flutter): more docs and typedefs updates

commit 8786d2dd82b94f673b36371fb2b33a1ebcc9840a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:14:14 2022 -0400

    chore(flutter): more typedef and doc template updates

commit 9e906beb0e7a054c13a32c8c8c5b0e2a9e27bb21
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 10:46:04 2022 -0400

    chore(flutter): create /uitils and move files

    Fixes subsequent imports/exports

* chore(flutter): update file_selector plugin

* chore(flutter): include utils/typedefs.dart in library export

* Squashed commit of the following:

commit 501228afa614b0d740858dec1ebedd3f671e2c96
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 16:18:12 2022 -0400

    feat(flutter): ensure fullscreen media feature works on ALL platforms

commit cd0aab92bc7d90af03258829a5aae66125578af5
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 14:26:48 2022 -0400

    feat(flutter): working conditional import for initializing VLC

* fix(flutter): remove stray import causing web to break

* chore(flutter): ensure context menus can show on web in sample

* feat(flutter) FullScreenMedia context menus for Web

* feat(flutter): branded context menus

* chore(flutter): no success dialog on file download (web)

* chore(flutter): remove platform UI packages

* chore(flutter): properly show/hide delete message menu item

Also deletes deprecated PlatformDialog

* feat(flutter): 'view info' channel preview context menu

* feat(flutter): more menu actions for ChannelPreview

Also new ConfirmationDialog and add missing docs

* feat(flutter/localizations): translations related to channel mutes

* chore(flutter): remove prints and fix super.didChangeDependencies order

* chore(flutter): rename some things in ChannelBottomSheet

* chore(flutter): more sensible name in TypingIndicator

* chore(flutter): remove unused code in MessageWidget

* feat(flutter): ChannelInfoDialog

* chore(flutter): organize files more

Also refactors out some internal MessageListView widgets

* fix(flutter): fix render overflow issue

* chore(flutter): move MediaListView

* chore(flutter): remove unused imports

* fix(flutter): fix weird share menu placement on macos

* chore(flutter): clean up fullscreenmedia conditional imports

* chore(flutter): adjust package exports

* chore(flutter): update dart_vlc

* chore(flutter): clean up platform checks

* chore(flutter): run flutter format on lib

* chore(flutter): minor sample cleanup

* chore(flutter): ensure vlc doesn't get initialized in non-desktop testing environments

* test(flutter): reformat existing tests

* fix(flutter): pass onThreadReplyTap down to ThreadReplyButton

* First round of new tests

commit a90bed427521123fdaa4c5e276744a224fac2b68
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:34:19 2022 -0400

    test(flutter): Username test

commit d7bc179c20eae2713c9248191518bf1d955104a9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:30:47 2022 -0400

    chore(flutter): remove unused imports

commit 09c9517de2917dc5ccd7de019b50a7875386991c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:29:58 2022 -0400

    test(flutter): ThreadSeparator test

commit 9422d1129211aaaac9a51ca4d29fe94bde06593c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:19:43 2022 -0400

    chore(flutter): rename LoadingIndicator parameter

commit 63af943a1a16e78a1e0377d76176420bd7e1fbc7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 11:47:46 2022 -0400

    test(flutter): FloatingDateDivider test

commit d8e67cf6fca2b76ac091a9047104c0910d5fdfef
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 15:19:39 2022 -0400

    test(flutter): InputAttachment tests

commit d2b7d5dd3304c8be6f74bf5b0281d7a95dd027ec
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:41:40 2022 -0400

    test(flutter): DmCheckbox tests

commit 01567f235a2f00880bb530b232489e3790159b25
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:16:08 2022 -0400

    chore(flutter): remove unused imports

commit c9625858e840df6082506ae9374f1d2710053cbd
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:15:44 2022 -0400

    test(flutter): CountdownButton tests

commit d770474bb11ee8b36a3b0e18db31695fd812a6b3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:11:37 2022 -0400

    test(flutter): CommandButton tests

commit 95e63706d1dd971373d39d471894a38bb2a634f2
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:07:43 2022 -0400

    test(flutter): ClearInputItem tests

commit 4156586945c91408cb7943b6c57c2ae560a2857c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:03:59 2022 -0400

    test(flutter): AttachmentButton tests

commit bba042806326999aabf338636c6e33900de86160
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 13:00:42 2022 -0400

    test(flutter): golden test for SendButton

commit e2cd0f00b9eeb8d81399f6316edb298234de12dc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:52 2022 -0400

    chore(flutter): deal with lints

commit b4e045f9cbd54c4d42c3f30acfe72d5f8ccf9d82
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:00 2022 -0400

    test(flutter): SendButton test

commit 4e3d5db0bddb97e508fcdda2e7272fe31e70808f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:38:21 2022 -0400

    test(flutter): KeyboardShortcutRunner tests

commit 0dfd7a0bd6fd6bc76902e87f62ac29da0b01bac6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:17:30 2022 -0400

    test(flutter): UploadProgressIndicator

commit ec50c8aea716bdc19e4308e367c8331211c61ea3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:47:53 2022 -0400

    test(flutter): SendingIndicator tests

commit e87bd1450fb5bfb713a867c7e831968f76428848
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:32:35 2022 -0400

    test(flutter): more gallery tests

commit 93d46ca649277fe6d289a70f0bdd23584fd0ab94
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:17:29 2022 -0400

    test(flutter): remove bad mock

commit c7b03a39f0f3ca7a334dfb908f3473b5e4deab38
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 10:45:45 2022 -0400

    chore(flutter): minor refactor

commit 33aeb7b5ed398287cb930f3b4702f47a82fce2c6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:49:07 2022 -0400

    test(flutter): MessageDialog tests

commit 220b3ae591e135d9606254666e04d4771945d0ae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:42:51 2022 -0400

    test(flutter): DeleteMessageDialog tests

commit db508478bb96749971f563de87b6c2a49e1e4e57
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:46:41 2022 -0400

    test(flutter): ConfirmationDialog tests

commit e8172dad6bfe18f40b65554ef2c6c16d7437cb56
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:35:50 2022 -0400

    test(flutter): ChannelInfoDialog test

commit 04c21458a601af3c3f4a5fc5ce9e8b61493c208c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:57:02 2022 -0400

    test(flutter): DownloadMenuItem tests

commit afee1dace543e2fef8543f9b035f684b2ee00f3b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:53:21 2022 -0400

    test(flutter): StreamChatContextMenuItem tests

commit 4616b1a973d0cf5224b5a71914c9908339c8462a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:02:07 2022 -0400

    test(flutter): golden test for ErrorAlertSheet

commit 22fb8241ae333f57ade8e8550f87695929836b2b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:59:01 2022 -0400

    test(flutter): golden test for EditMessageSheet

commit 0be79964827f344ba66e99cb9e5bd3d627aed01d
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:56:08 2022 -0400

    test(flutter): golden test for AttachmentModalSheet

commit 0ae842a98143478885bc211c788353c8bca57b40
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:53:26 2022 -0400

    test(flutter): GroupAvatar tests

commit 697d294c6c7e1bba1d9089a53d5c60d8609ea64e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:30:25 2022 -0400

    test(flutter): UserAvatar tests

commit c03ba4124068c83d3a49c4db00ca18a659801c23
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 11:04:55 2022 -0400

    test(flutter): ErrorAlertSheet test

commit 3414f28530b0e22614b83af20361f21dd4967fae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:45:37 2022 -0400

    test(flutter): EditMessageSheet test

commit b2962b641dfbf14c11d3da7f80a4be27f9980d90
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:37:18 2022 -0400

    test(flutter): AttachmentModalSheet test

    test(flutter): AttachmentModalSheet test

    chore(flutter): update exports

commit 7d7e278692c65dea84e7ef3b2d3c1311ebb28408
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:52:29 2022 -0400

    test(flutter): more organization

commit 4479b649835acc62d8a0553f9505a0af8077abfc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:33:06 2022 -0400

    test(flutter): tweak AttachmentHandler tests

commit b4a41106567e3c08105ce8dc272b1ebf40b3b0bb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:24:00 2022 -0400

    chore(flutter): streamline attachment handling

    * MobileAttachmentHandler for streamlining related code for mobile
    * Break out DesktopAttachmentHandler into its own file
    * Update minSdk version in Android runner

commit bfb06d31b79cd941d8b611c7e89e2d7728a394cb
Merge: a44b3b39 15c83d0
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 13:00:27 2022 -0400

    Merge branch 'desk_web_dev' into tests

commit a44b3b390adc25a00d1597bb1460973e8555fa9e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:59:14 2022 -0400

    chore(flutter): start cleaning up test dir

commit de104a3491d942d12f72dd66152b62c6e8b10a5b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:56:48 2022 -0400

    test(flutter): VideoAttachment test

commit 4748a1c081a3272f7fdbdeb69c501344e221e01e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:52:30 2022 -0400

    test(flutter): UrlAttachment test

commit 54408ef70f07c60adf8350553fdf3173e5edd7c7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:48:24 2022 -0400

    test(flutter): ImageGroup test

commit 811cff069e490c6bd03be0c0ac2f5ec86fb990e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:46:04 2022 -0400

    test(flutter): ImageAttachment test

commit a72677976c6524e76793432b0520e99cac4e7a62
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:34:06 2022 -0400

    test(flutter): GiphyAttachment test

commit 32ddac022e2c149726b4b6607f41850d556055b8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:28:01 2022 -0400

    test(flutter): FileAttachment test

commit 6534958cab775be1fb9bda56e67caa4746aa1502
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:14:25 2022 -0400

    test(flutter): AttachmentError test

commit 718a83c10c4e883ce01c9c002ced24de671d30b9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:06:43 2022 -0400

    test(flutter): AttachmentUploadStateBuilder test

commit a05108c460e36b2e425e4ec06f8bf408b0c20e97
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:44:34 2022 -0400

    chore(flutter): minor cleanup

commit 6e73038ac3714a2bd96f8c587af7f743bf2b2023
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:23 2022 -0400

    test(flutter): AttachmentTitle test

commit c6ee52ec951877feef31dc1427eec3bfc2bd8fcb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:11 2022 -0400

    test(flutter): minor cleanup

commit 09845cd845aa8c546043f4ae04805a8e6f53f61c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:42:52 2022 -0400

    chore(flutter): improve device segmentation & vlc init check

commit 172e6b25a064b5147b7641f29ebff3c920156f70
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 10:37:43 2022 -0400

    test(flutter): attachment_handler tests

commit 5f5a91c70cd7c069f39518f1f50bb74ab484c7e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:27 2022 -0400

    test(flutter): test PlatformWidgetBuilder & DesktopWidgetBuilder

commit 5a457b7557cb4127b74ee022389a24e5e9150601
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:05 2022 -0400

    chore(flutter): make base platform widgets testable

    Also fix environment check in stream_chat.dart

commit 88fb16018103c581236aeebd978e705b223b2243
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:59:19 2022 -0400

    chore(flutter): add readme to conditional_parent_widget library

commit e9307f8a6a5639d59358c245f033f9d9b209fe20
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:54:54 2022 -0400

    test(flutter): ConditionalParentBuilder tests

* chore(flutter): add thumblr dependency

* chore(flutter): fix typos

* chore(flutter): properly order super calls

* feat(flutter) video thumbnails on desktop

* chore(flutter): fix incorrect file name

* chore(flutter): fix docs for generateVideoThumbnail

* chore(flutter): remove incorrect comment

* chore(flutter): run flutter format

* chore(flutter): ignore lint

* chore(flutter): flutter format

* chore(flutter): fix tests

* fix(flutter): fix MessageListView bug caused by rebase

* chore(flutter): migrate desktop stuff to v4/stream_message_input.dart

* chore(flutter): migrate over desktop changes for message replies

* chore(flutter): fix message replies on desktop

* chore(flutter): address lints

* chore(flutter): update dart_vlc

* chore(flutter): melos clean & update photo_view

* fix(ui): port #1118

* fix(ui): use attachmentButtonBuilder

* fix(ui): fix file attachment

* format

* fix(ui): fix message bottom row

* chore(flutter sample): use modern window look

* chore(flutter): pass userAvatarBuilder through to MessageWidgetContent

Also pass onUserAvatarTap & userAvatarBuilder through to UserAvatarTransform

* chore: fix MessageWidget menu actions

* fix(flutter): fix "enter" sending empty messages in StreamMessageInput

* fix(flutter): fix Giphys not loading in quoted messages

* chore(flutter): update thumblr

* feat(flutter): keyboard navigation for gallery items

* fix(ui): fix double date divider

* fix(ui): add scroll to bottom back

* fix(ui): use mouse region

* fix(ui): remove backbutton in desktop example

* fix(ui): rename full screen media widget

* feat(flutter): elevation prop for gallery header

* chore(flutter): update dart_vlc

* fix(flutter): fix "show in chat" showing when it shouldn't

* fix(flutter): fix "show in chat" for mobile

* docs(flutter): minor doc update

* chore(flutter): add onMessageSwiped in example app

* chore(flutter): pass usernameBuilder through to BottomRow

* fix(flutter): hacky fix for chonky link previews

* fix(flutter): fix chonky text messages

* feat(flutter): press "esc" to close gallery

Also refactors KeyboardShortcutRunner API

* chore(flutter): fix innaccurate name

* fix(ui): fix attachment + long text sizing

* add key to channelpage

* fix(ui): better example

* fix format

* fix example

* chore(flutter): revert modern window look

* improvement(flutter): improve `GalleryNavigationItem`

* Make buttons more visible
* Spacing from the sides of the screen

* fix video thumbnail

* fix split view

* fix(ui): fix giphy in thread

* feat(flutter): desktop message reactions

commit 4b880ecb6d4dcbf315a7d41d863174817a9c530a
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Thu Jun 9 12:25:21 2022 -0400

    fix(flutter): fixes for desktop reactions

    * Fix reactions for reverse messages
    * Ensure reactions near the edges of MessageListView show properly

commit f511513
Author: Salvatore Giordano <salvatoregiordanoo@gmail.com>
Date:   Thu Jun 9 16:43:03 2022 +0200

    fix(ui): fix DesktopReactionBuilder and Portal

commit c488564
Merge: 2b710a2 72b34c2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Wed Jun 8 14:12:44 2022 -0400

    Merge branch 'desk_web_dev' into desktop_reactions

commit 2b710a2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:19:12 2022 -0400

    chore(flutter): add debug props

commit e24dabc
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:00:03 2022 -0400

    feat(flutter): first pass at desktop reactions popup on mouse hover

* fix(flutter): potential fix for #1199

* fix(flutter): fix non-reversed reactions placement

* refactor(flutter): extract bottom reaction, stacked reaction

with debug props

* fix(flutter): fixes for desktop reactions

* Fix bottom row being rendered above reaction buttons
* Fix padding issues related to avatars

* chore(flutter): add back lost changes from 2b1fb6a

Also removed commented code

* chore(flutter): stacked reactions update

* Show "You" if userId matches the reaction username (per design)
* Ensure long names don't throw off alignment

* chore(flutter): format

* fix(ui): fix mime type generation

* chore(flutter): tweak desktop video

* chore(flutter): add some missing things from develop

* merge develop

* fix merge

* fix merge

* format

* fix tests

* increate test action timeout

* remove test

* refactor(ui,core): remove deprecated code and cleanup

* run builder

* update coverage threasholds

* refactor(ui): remove arrow function from countdown button

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* update comment

* fix(ui): fix attachment + link solution

* fix(ui): fix attachment + link solution

* chore(flutter) update changelog and version

* chore(localizations): update changelog and versions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* fix example

* fix deps

* fix(ui): fix enter sending the message while in slowmode

* fix(ui): fix reaction list

* fix web

* fix(ui): fix image download when using assetUrl

* fix(ui): fix typo in changelog

* fix(ui): fix gallery navigation

* fix(ui): fix giphy sending size

* fix(ui): add keyboard shorcuts to gallery view

* fix(ui): fix gallery footer

* fix(core): allow scroll notification bubbling in lazy load scroll view

* fix(ui): fix lazy load scroll view

* fix(ui): fix loading to unread position

* fix(ui): fix last message preview

* chore(ui): update changelog

* fix tests

* fix(llc): fix connecting while connecting and disconneting (#1237)

* fix(llc): fix connecting while connecting and disconneting

* chore(llc): update changelog

* chore(llc): add test

* chore(llc): improve test

* fix(llc): _resetRequestFlags regardless of the connection status

* feat(llc): add support for AttachmentFileUploaderProvider. (#1246)

* feat(llc): add support for `AttachmentFileUploaderProvider`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Remove deprecated attachmentFileUploader field.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* port no localization

* fix(ui): fix jiffy locale initialization (#1255)

* fix(ui): fix jiffy locale initialization

* chore(ui): update changelog

* fix(ui): cleanup

* chore(llc,core,ui,persistence,localizations): align changelog

* chore(llc,core,ui,persistence,localizations): add links to 4.x changelogs

* fix(ui): fix date divider not showing (#1259)

* fix(ui): fix date divider not showing

* chore(ui): update changelog

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix separator

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* chore(ui): add contextmenu requirements for web (#1261)

* fix unread separator

* feat(ui): `StreamChatConfiguration` class (#1128)

* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* feat(ui, core): add StreamAutocomplete (#1263)

* feat(ui, core): add stream_autocomplete.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(core, ui): refactor message input controller

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): minor fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add StreamAutocompleteOptions widget

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* Update packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

* fix(ui): cleanup

* chore(core, ui): cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): ignore no empty block

* chore(ui): more cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix command button for bigger screens, other fixes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* fix(ui): increase default file limit to 100MB (#1279)

* fix(ui): increase default file limit to 100MB

* Update packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart

* fix(ui): export kDefaultMaxAttachmentSize and use it in `StreamAttachmentPicker` default

* feat(ui): show dialog after clicking on the camera button and permission is denied (#1262)

* feat(ui): show dialog after clicking on the camera button and permission is denied

* chore(ui): update changelog

* Remove permission_handler plugin and refactor

* cleanup

* cleanup

* add tests

* fix(ui): reset the permission state on resume

* cleanup

* fix concurrent calls

* fix(ui): cleanup

* fix(ui): add try catch

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes (#1285)

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes

* fix(llc): do not save failed messages with attachments on web

* fix(llc): replace every with any

* chore(llc): add test

* fix analysis

* fix analysis

* chore(llc,core,ui,persistence): align changelog with v4

* fix(ui): do not linkify system message mentions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec (#1289)

* chore(ui): update deps

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(ui): publish beta.2

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController (#1291)

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController

* chore(core,ui): update changelog

* fix(ui): fix exports

* chore(ui): add tests

* chore(ui): add StreamMemberGridTile typedef

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* fix(ui): do not send empty message

* refactor(ui,localization): removed emoji picker and connected (#1292)

* refactor(ui,localization): removed emoji picker and connected

* chore(ui,localizations): update changelog

* chore(repo): update ui coverage threashold

* doc(ui): add autocomplete_triggers guide

* chore(ui): add tests for isOnlyEmoji

* chore(ui): add tests for isOnlyEmoji

* feat(ui): add `StreamAutocompleteTrigger.triggerOnlyAfterSpace`

* fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): flutter format

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix `stopTyping` unhandled exceptions when network is off or spotty. (#1296)

* feat(llc, ui): Introduce `keyStrokeHandler` to properly handle keyStrokes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): add key_stroke_handler_test.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(core): only handle the channel list event if the state is success.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(llc): add `hide_history` flag in `channel.addMembers`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Convert positional argument to optional arguments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): update tests

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* perf: improve image resizing

* fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): Added `thumbnailSize`, `thumbnailResizeType`, and `thumbnailCropType` params to `StreamMessageWidget` and `StreamAttachmentPicker` to customize the appearance of image thumbnails.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* Release v4.5.0 (#1308)

* chore(llc, ui, core): bump version to v4.5.0

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui, core): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* third party video integration

* fix llc

* refactor: clean up and add docs

* chore(llc): update changelog

* chore(llc): add tests

* chore(llc): add more tests

* fix analysis

* chore(llc): add more tests

* chore(llc): add more tests

* fix(llc): only start listening to event once connected.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): move files to correct folders.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): Fix message text hiding because of a flutter bug (#1327)

* fix(ui): remove clip

* chore(ui): update changelog

* cleanup

* fix(ui): hitting "enter" on the android keyboard sends the message instead of going to a new line.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add support for additional text field params in message input.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* remove print

* chore(llc,core,ui): update pubspec and changelogs (#1333)

* fix(ui): show placeholder for web video thumbs

* fix file download on web

* fix reply and show buttons

* remove tests

* treat svg as files

* fix(ui): change default image resize to clip

* solve some todos

* polish v5 fixing analysis issues

* feat(ui): stream attachment picker bottom sheet (#1336)

* refactor(ui): improve stream_attachment_handler.dart, add stream_attachment_picker_bottom_sheet.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add copyWith in command_button.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): remove permission_manager.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): some fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): fix lints, add doc comments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update melos and flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* remove todo

* update changelog

* update changelogs

* revert

* update coverage threasholds

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: GroovinChip <groovinchip@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sacha Arbonel <sacha.arbonel@hotmail.fr>
(cherry picked from commit 4f25422)

# Conflicts:
#	.github/workflows/dart_code_metrics.yaml
#	.github/workflows/stream_flutter_workflow.yml
#	analysis_options.yaml
#	docusaurus/docs/Flutter/guides/adding_push_notifications_v2.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications_v2.mdx
#	melos.yaml
#	packages/stream_chat/CHANGELOG.md
#	packages/stream_chat/lib/src/client/channel.dart
#	packages/stream_chat/lib/src/client/client.dart
#	packages/stream_chat/lib/src/client/key_stroke_handler.dart
#	packages/stream_chat/lib/src/core/api/stream_chat_api.dart
#	packages/stream_chat/lib/src/core/models/channel_model.dart
#	packages/stream_chat/lib/src/core/models/member.dart
#	packages/stream_chat/lib/src/core/models/member.g.dart
#	packages/stream_chat/lib/src/core/models/user.dart
#	packages/stream_chat/lib/stream_chat.dart
#	packages/stream_chat/lib/version.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/CHANGELOG.md
#	packages/stream_chat_flutter/example/android/app/build.gradle
#	packages/stream_chat_flutter/example/lib/main.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_1.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_4.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_5.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_6.dart
#	packages/stream_chat_flutter/example/pubspec.yaml
#	packages/stream_chat_flutter/lib/src/attachment/attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/stream_attachment_package.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/avatars/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/back_button.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/commands_overlay.dart
#	packages/stream_chat_flutter/lib/src/emoji_overlay.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/indicators/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_action.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/message_input/tld.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_search_item.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/misc/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/misc/date_divider.dart
#	packages/stream_chat_flutter/lib/src/misc/info_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart
#	packages/stream_chat_flutter/lib/src/misc/system_message.dart
#	packages/stream_chat_flutter/lib/src/misc/thread_header.dart
#	packages/stream_chat_flutter/lib/src/misc/visible_footnote.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_indexed_widget_builder.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/stream_chat.dart
#	packages/stream_chat_flutter/lib/src/stream_neumorphic_button.dart
#	packages/stream_chat_flutter/lib/src/stream_svg_icon.dart
#	packages/stream_chat_flutter/lib/src/theme/avatar_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/color_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/stream_chat_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/text_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/user/user_item.dart
#	packages/stream_chat_flutter/lib/src/user/user_mention_tile.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/utils/helpers.dart
#	packages/stream_chat_flutter/lib/src/video/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/video_service.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/attachment/file_attachment_test.dart
#	packages/stream_chat_flutter/test/src/attachment_actions_modal/attachment_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_header_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_image_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_name_test.dart
#	packages/stream_chat_flutter/test/src/image_footer_test.dart
#	packages/stream_chat_flutter/test/src/message_actions_modal/message_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/message_list_view/message_list_view_test.dart
#	packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart
#	packages/stream_chat_flutter/test/src/misc/date_divider_test.dart
#	packages/stream_chat_flutter/test/src/misc/info_tile_test.dart
#	packages/stream_chat_flutter/test/src/theme/channel_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/message_search_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/user_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/test_utils/golden.dart
#	packages/stream_chat_flutter_core/CHANGELOG.md
#	packages/stream_chat_flutter_core/example/lib/main.dart
#	packages/stream_chat_flutter_core/example/pubspec.yaml
#	packages/stream_chat_flutter_core/example/windows/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter_core/lib/src/channel_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/channels_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_notifier.freezed.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/user_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/users_bloc.dart
#	packages/stream_chat_flutter_core/lib/stream_chat_flutter_core.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_flutter_core/test/channel_list_core_test.dart
#	packages/stream_chat_flutter_core/test/channels_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_list_core_test.dart
#	packages/stream_chat_flutter_core/test/user_list_core_test.dart
#	packages/stream_chat_flutter_core/test/users_bloc_test.dart
#	packages/stream_chat_localizations/CHANGELOG.md
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/example/lib/main.dart
#	packages/stream_chat_localizations/example/lib/override_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_no.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_localizations/pubspec.yaml
#	packages/stream_chat_persistence/CHANGELOG.md
#	packages/stream_chat_persistence/example/android/app/build.gradle
#	packages/stream_chat_persistence/example/android/app/src/main/AndroidManifest.xml
#	packages/stream_chat_persistence/example/android/build.gradle
#	packages/stream_chat_persistence/example/lib/main.dart
#	packages/stream_chat_persistence/example/pubspec.yaml
#	packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart
#	packages/stream_chat_persistence/lib/src/db/shared/native_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/web_db.dart
#	packages/stream_chat_persistence/lib/src/entity/members.dart
#	packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart
#	packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart
#	packages/stream_chat_persistence/pubspec.yaml
kanat pushed a commit that referenced this issue May 1, 2023
* chore(flutter): change BoxFit of VLC player

* chore(flutter): remove unused imports

* chore(flutter sample): tweak breakpoints, ignore some lints

* chore(flutter): minor code readability improvements

* chore(flutter): extract out platform_widget_builder to its own "package"

* fix(flutter): fix a theme bug with PlatformDialog

* chore(persistence): test plugin on macOS

* Generated the macos runner for the example
* Re-generated the android runner because it was using the v1 embedding

* chore(persistence): test plugin on web

* chore(persistence): add Windows runner to example

* chore(persistence): add linux runner to example

* feat(flutter): branded context menus

* chore(flutter): fix bug where lines would be shown in between menu items

* chore(flutter): import/export fixes

* chore(flutter): move file

* chore(flutter): /src/channel

Also refactors several /channel widgets to use class widgets instead of methods. Some methods, however, have been left as those cases do actually produce cleaner code.

chore(flutter): fix bad directory placement

chore(flutter): fix bad directory placement

* chore(flutter): more directory organization

* chore(flutter): navigator improvements

* chore(flutter): void async improvements

* chore(flutter): fix imports/exports

* docs(flutter): documentation updates for /attachment

* docs(flutter): doc updates

For:
* /avatars
* /bottom_sheets
* /channel

* feat(flutter): selectable message text on web & desktop

* Squashed commit of the following:

commit 50b249edb6b2ee2d744e4e00e97f81979026aab4
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:55:05 2022 -0400

    chore(flutter): wrapping up docs

commit 7d289ae45e20c0109bcdb4496f7b693e2adc4ef9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:42:09 2022 -0400

    chore(flutter): more docs & typedefs

commit 6b36f6f3864f15b52e441d58ee7e62577ff8f843
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:22:34 2022 -0400

    chore(flutter): more doc fixes

commit 1a9a6de3c836e9ee5d6373033f1d9a7da830bddc
Merge: 59188f5d 88abf99
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 13:17:52 2022 -0400

    Merge branch 'desk_web_dev' into utils

commit 59188f5d9c1dd68edd531086cdfd9d42faf93fc8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:48:16 2022 -0400

    chore(flutter): add todo

commit 9b4a986ca5757f284677eb5335637d11ccb1d642
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:43:12 2022 -0400

    chore(flutter): more docs and typedefs updates

commit 8786d2dd82b94f673b36371fb2b33a1ebcc9840a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:14:14 2022 -0400

    chore(flutter): more typedef and doc template updates

commit 9e906beb0e7a054c13a32c8c8c5b0e2a9e27bb21
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 10:46:04 2022 -0400

    chore(flutter): create /uitils and move files

    Fixes subsequent imports/exports

* chore(flutter): update file_selector plugin

* chore(flutter): include utils/typedefs.dart in library export

* Squashed commit of the following:

commit 501228afa614b0d740858dec1ebedd3f671e2c96
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 16:18:12 2022 -0400

    feat(flutter): ensure fullscreen media feature works on ALL platforms

commit cd0aab92bc7d90af03258829a5aae66125578af5
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 14:26:48 2022 -0400

    feat(flutter): working conditional import for initializing VLC

* fix(flutter): remove stray import causing web to break

* chore(flutter): ensure context menus can show on web in sample

* feat(flutter) FullScreenMedia context menus for Web

* feat(flutter): branded context menus

* chore(flutter): no success dialog on file download (web)

* chore(flutter): remove platform UI packages

* chore(flutter): properly show/hide delete message menu item

Also deletes deprecated PlatformDialog

* feat(flutter): 'view info' channel preview context menu

* feat(flutter): more menu actions for ChannelPreview

Also new ConfirmationDialog and add missing docs

* feat(flutter/localizations): translations related to channel mutes

* chore(flutter): remove prints and fix super.didChangeDependencies order

* chore(flutter): rename some things in ChannelBottomSheet

* chore(flutter): more sensible name in TypingIndicator

* chore(flutter): remove unused code in MessageWidget

* feat(flutter): ChannelInfoDialog

* chore(flutter): organize files more

Also refactors out some internal MessageListView widgets

* fix(flutter): fix render overflow issue

* chore(flutter): move MediaListView

* chore(flutter): remove unused imports

* fix(flutter): fix weird share menu placement on macos

* chore(flutter): clean up fullscreenmedia conditional imports

* chore(flutter): adjust package exports

* chore(flutter): update dart_vlc

* chore(flutter): clean up platform checks

* chore(flutter): run flutter format on lib

* chore(flutter): minor sample cleanup

* chore(flutter): ensure vlc doesn't get initialized in non-desktop testing environments

* test(flutter): reformat existing tests

* fix(flutter): pass onThreadReplyTap down to ThreadReplyButton

* First round of new tests

commit a90bed427521123fdaa4c5e276744a224fac2b68
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:34:19 2022 -0400

    test(flutter): Username test

commit d7bc179c20eae2713c9248191518bf1d955104a9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:30:47 2022 -0400

    chore(flutter): remove unused imports

commit 09c9517de2917dc5ccd7de019b50a7875386991c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:29:58 2022 -0400

    test(flutter): ThreadSeparator test

commit 9422d1129211aaaac9a51ca4d29fe94bde06593c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:19:43 2022 -0400

    chore(flutter): rename LoadingIndicator parameter

commit 63af943a1a16e78a1e0377d76176420bd7e1fbc7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 11:47:46 2022 -0400

    test(flutter): FloatingDateDivider test

commit d8e67cf6fca2b76ac091a9047104c0910d5fdfef
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 15:19:39 2022 -0400

    test(flutter): InputAttachment tests

commit d2b7d5dd3304c8be6f74bf5b0281d7a95dd027ec
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:41:40 2022 -0400

    test(flutter): DmCheckbox tests

commit 01567f235a2f00880bb530b232489e3790159b25
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:16:08 2022 -0400

    chore(flutter): remove unused imports

commit c9625858e840df6082506ae9374f1d2710053cbd
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:15:44 2022 -0400

    test(flutter): CountdownButton tests

commit d770474bb11ee8b36a3b0e18db31695fd812a6b3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:11:37 2022 -0400

    test(flutter): CommandButton tests

commit 95e63706d1dd971373d39d471894a38bb2a634f2
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:07:43 2022 -0400

    test(flutter): ClearInputItem tests

commit 4156586945c91408cb7943b6c57c2ae560a2857c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:03:59 2022 -0400

    test(flutter): AttachmentButton tests

commit bba042806326999aabf338636c6e33900de86160
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 13:00:42 2022 -0400

    test(flutter): golden test for SendButton

commit e2cd0f00b9eeb8d81399f6316edb298234de12dc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:52 2022 -0400

    chore(flutter): deal with lints

commit b4e045f9cbd54c4d42c3f30acfe72d5f8ccf9d82
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:00 2022 -0400

    test(flutter): SendButton test

commit 4e3d5db0bddb97e508fcdda2e7272fe31e70808f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:38:21 2022 -0400

    test(flutter): KeyboardShortcutRunner tests

commit 0dfd7a0bd6fd6bc76902e87f62ac29da0b01bac6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:17:30 2022 -0400

    test(flutter): UploadProgressIndicator

commit ec50c8aea716bdc19e4308e367c8331211c61ea3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:47:53 2022 -0400

    test(flutter): SendingIndicator tests

commit e87bd1450fb5bfb713a867c7e831968f76428848
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:32:35 2022 -0400

    test(flutter): more gallery tests

commit 93d46ca649277fe6d289a70f0bdd23584fd0ab94
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:17:29 2022 -0400

    test(flutter): remove bad mock

commit c7b03a39f0f3ca7a334dfb908f3473b5e4deab38
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 10:45:45 2022 -0400

    chore(flutter): minor refactor

commit 33aeb7b5ed398287cb930f3b4702f47a82fce2c6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:49:07 2022 -0400

    test(flutter): MessageDialog tests

commit 220b3ae591e135d9606254666e04d4771945d0ae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:42:51 2022 -0400

    test(flutter): DeleteMessageDialog tests

commit db508478bb96749971f563de87b6c2a49e1e4e57
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:46:41 2022 -0400

    test(flutter): ConfirmationDialog tests

commit e8172dad6bfe18f40b65554ef2c6c16d7437cb56
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:35:50 2022 -0400

    test(flutter): ChannelInfoDialog test

commit 04c21458a601af3c3f4a5fc5ce9e8b61493c208c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:57:02 2022 -0400

    test(flutter): DownloadMenuItem tests

commit afee1dace543e2fef8543f9b035f684b2ee00f3b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:53:21 2022 -0400

    test(flutter): StreamChatContextMenuItem tests

commit 4616b1a973d0cf5224b5a71914c9908339c8462a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:02:07 2022 -0400

    test(flutter): golden test for ErrorAlertSheet

commit 22fb8241ae333f57ade8e8550f87695929836b2b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:59:01 2022 -0400

    test(flutter): golden test for EditMessageSheet

commit 0be79964827f344ba66e99cb9e5bd3d627aed01d
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:56:08 2022 -0400

    test(flutter): golden test for AttachmentModalSheet

commit 0ae842a98143478885bc211c788353c8bca57b40
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:53:26 2022 -0400

    test(flutter): GroupAvatar tests

commit 697d294c6c7e1bba1d9089a53d5c60d8609ea64e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:30:25 2022 -0400

    test(flutter): UserAvatar tests

commit c03ba4124068c83d3a49c4db00ca18a659801c23
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 11:04:55 2022 -0400

    test(flutter): ErrorAlertSheet test

commit 3414f28530b0e22614b83af20361f21dd4967fae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:45:37 2022 -0400

    test(flutter): EditMessageSheet test

commit b2962b641dfbf14c11d3da7f80a4be27f9980d90
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:37:18 2022 -0400

    test(flutter): AttachmentModalSheet test

    test(flutter): AttachmentModalSheet test

    chore(flutter): update exports

commit 7d7e278692c65dea84e7ef3b2d3c1311ebb28408
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:52:29 2022 -0400

    test(flutter): more organization

commit 4479b649835acc62d8a0553f9505a0af8077abfc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:33:06 2022 -0400

    test(flutter): tweak AttachmentHandler tests

commit b4a41106567e3c08105ce8dc272b1ebf40b3b0bb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:24:00 2022 -0400

    chore(flutter): streamline attachment handling

    * MobileAttachmentHandler for streamlining related code for mobile
    * Break out DesktopAttachmentHandler into its own file
    * Update minSdk version in Android runner

commit bfb06d31b79cd941d8b611c7e89e2d7728a394cb
Merge: a44b3b39 15c83d0
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 13:00:27 2022 -0400

    Merge branch 'desk_web_dev' into tests

commit a44b3b390adc25a00d1597bb1460973e8555fa9e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:59:14 2022 -0400

    chore(flutter): start cleaning up test dir

commit de104a3491d942d12f72dd66152b62c6e8b10a5b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:56:48 2022 -0400

    test(flutter): VideoAttachment test

commit 4748a1c081a3272f7fdbdeb69c501344e221e01e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:52:30 2022 -0400

    test(flutter): UrlAttachment test

commit 54408ef70f07c60adf8350553fdf3173e5edd7c7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:48:24 2022 -0400

    test(flutter): ImageGroup test

commit 811cff069e490c6bd03be0c0ac2f5ec86fb990e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:46:04 2022 -0400

    test(flutter): ImageAttachment test

commit a72677976c6524e76793432b0520e99cac4e7a62
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:34:06 2022 -0400

    test(flutter): GiphyAttachment test

commit 32ddac022e2c149726b4b6607f41850d556055b8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:28:01 2022 -0400

    test(flutter): FileAttachment test

commit 6534958cab775be1fb9bda56e67caa4746aa1502
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:14:25 2022 -0400

    test(flutter): AttachmentError test

commit 718a83c10c4e883ce01c9c002ced24de671d30b9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:06:43 2022 -0400

    test(flutter): AttachmentUploadStateBuilder test

commit a05108c460e36b2e425e4ec06f8bf408b0c20e97
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:44:34 2022 -0400

    chore(flutter): minor cleanup

commit 6e73038ac3714a2bd96f8c587af7f743bf2b2023
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:23 2022 -0400

    test(flutter): AttachmentTitle test

commit c6ee52ec951877feef31dc1427eec3bfc2bd8fcb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:11 2022 -0400

    test(flutter): minor cleanup

commit 09845cd845aa8c546043f4ae04805a8e6f53f61c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:42:52 2022 -0400

    chore(flutter): improve device segmentation & vlc init check

commit 172e6b25a064b5147b7641f29ebff3c920156f70
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 10:37:43 2022 -0400

    test(flutter): attachment_handler tests

commit 5f5a91c70cd7c069f39518f1f50bb74ab484c7e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:27 2022 -0400

    test(flutter): test PlatformWidgetBuilder & DesktopWidgetBuilder

commit 5a457b7557cb4127b74ee022389a24e5e9150601
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:05 2022 -0400

    chore(flutter): make base platform widgets testable

    Also fix environment check in stream_chat.dart

commit 88fb16018103c581236aeebd978e705b223b2243
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:59:19 2022 -0400

    chore(flutter): add readme to conditional_parent_widget library

commit e9307f8a6a5639d59358c245f033f9d9b209fe20
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:54:54 2022 -0400

    test(flutter): ConditionalParentBuilder tests

* chore(flutter): add thumblr dependency

* chore(flutter): fix typos

* chore(flutter): properly order super calls

* feat(flutter) video thumbnails on desktop

* chore(flutter): fix incorrect file name

* chore(flutter): fix docs for generateVideoThumbnail

* chore(flutter): remove incorrect comment

* chore(flutter): run flutter format

* chore(flutter): ignore lint

* chore(flutter): flutter format

* chore(flutter): fix tests

* fix(flutter): fix MessageListView bug caused by rebase

* chore(flutter): migrate desktop stuff to v4/stream_message_input.dart

* chore(flutter): migrate over desktop changes for message replies

* chore(flutter): fix message replies on desktop

* chore(flutter): address lints

* chore(flutter): update dart_vlc

* chore(flutter): melos clean & update photo_view

* fix(ui): port #1118

* fix(ui): use attachmentButtonBuilder

* fix(ui): fix file attachment

* format

* fix(ui): fix message bottom row

* chore(flutter sample): use modern window look

* chore(flutter): pass userAvatarBuilder through to MessageWidgetContent

Also pass onUserAvatarTap & userAvatarBuilder through to UserAvatarTransform

* chore: fix MessageWidget menu actions

* fix(flutter): fix "enter" sending empty messages in StreamMessageInput

* fix(flutter): fix Giphys not loading in quoted messages

* chore(flutter): update thumblr

* feat(flutter): keyboard navigation for gallery items

* fix(ui): fix double date divider

* fix(ui): add scroll to bottom back

* fix(ui): use mouse region

* fix(ui): remove backbutton in desktop example

* fix(ui): rename full screen media widget

* feat(flutter): elevation prop for gallery header

* chore(flutter): update dart_vlc

* fix(flutter): fix "show in chat" showing when it shouldn't

* fix(flutter): fix "show in chat" for mobile

* docs(flutter): minor doc update

* chore(flutter): add onMessageSwiped in example app

* chore(flutter): pass usernameBuilder through to BottomRow

* fix(flutter): hacky fix for chonky link previews

* fix(flutter): fix chonky text messages

* feat(flutter): press "esc" to close gallery

Also refactors KeyboardShortcutRunner API

* chore(flutter): fix innaccurate name

* fix(ui): fix attachment + long text sizing

* add key to channelpage

* fix(ui): better example

* fix format

* fix example

* chore(flutter): revert modern window look

* improvement(flutter): improve `GalleryNavigationItem`

* Make buttons more visible
* Spacing from the sides of the screen

* fix video thumbnail

* fix split view

* fix(ui): fix giphy in thread

* feat(flutter): desktop message reactions

commit 4b880ecb6d4dcbf315a7d41d863174817a9c530a
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Thu Jun 9 12:25:21 2022 -0400

    fix(flutter): fixes for desktop reactions

    * Fix reactions for reverse messages
    * Ensure reactions near the edges of MessageListView show properly

commit f511513
Author: Salvatore Giordano <salvatoregiordanoo@gmail.com>
Date:   Thu Jun 9 16:43:03 2022 +0200

    fix(ui): fix DesktopReactionBuilder and Portal

commit c488564
Merge: 2b710a2 72b34c2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Wed Jun 8 14:12:44 2022 -0400

    Merge branch 'desk_web_dev' into desktop_reactions

commit 2b710a2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:19:12 2022 -0400

    chore(flutter): add debug props

commit e24dabc
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:00:03 2022 -0400

    feat(flutter): first pass at desktop reactions popup on mouse hover

* fix(flutter): potential fix for #1199

* fix(flutter): fix non-reversed reactions placement

* refactor(flutter): extract bottom reaction, stacked reaction

with debug props

* fix(flutter): fixes for desktop reactions

* Fix bottom row being rendered above reaction buttons
* Fix padding issues related to avatars

* chore(flutter): add back lost changes from 2b1fb6a

Also removed commented code

* chore(flutter): stacked reactions update

* Show "You" if userId matches the reaction username (per design)
* Ensure long names don't throw off alignment

* chore(flutter): format

* fix(ui): fix mime type generation

* chore(flutter): tweak desktop video

* chore(flutter): add some missing things from develop

* merge develop

* fix merge

* fix merge

* format

* fix tests

* increate test action timeout

* remove test

* refactor(ui,core): remove deprecated code and cleanup

* run builder

* update coverage threasholds

* refactor(ui): remove arrow function from countdown button

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* update comment

* fix(ui): fix attachment + link solution

* fix(ui): fix attachment + link solution

* chore(flutter) update changelog and version

* chore(localizations): update changelog and versions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* fix example

* fix deps

* fix(ui): fix enter sending the message while in slowmode

* fix(ui): fix reaction list

* fix web

* fix(ui): fix image download when using assetUrl

* fix(ui): fix typo in changelog

* fix(ui): fix gallery navigation

* fix(ui): fix giphy sending size

* fix(ui): add keyboard shorcuts to gallery view

* fix(ui): fix gallery footer

* fix(core): allow scroll notification bubbling in lazy load scroll view

* fix(ui): fix lazy load scroll view

* fix(ui): fix loading to unread position

* fix(ui): fix last message preview

* chore(ui): update changelog

* fix tests

* fix(llc): fix connecting while connecting and disconneting (#1237)

* fix(llc): fix connecting while connecting and disconneting

* chore(llc): update changelog

* chore(llc): add test

* chore(llc): improve test

* fix(llc): _resetRequestFlags regardless of the connection status

* feat(llc): add support for AttachmentFileUploaderProvider. (#1246)

* feat(llc): add support for `AttachmentFileUploaderProvider`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Remove deprecated attachmentFileUploader field.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* port no localization

* fix(ui): fix jiffy locale initialization (#1255)

* fix(ui): fix jiffy locale initialization

* chore(ui): update changelog

* fix(ui): cleanup

* chore(llc,core,ui,persistence,localizations): align changelog

* chore(llc,core,ui,persistence,localizations): add links to 4.x changelogs

* fix(ui): fix date divider not showing (#1259)

* fix(ui): fix date divider not showing

* chore(ui): update changelog

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix separator

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* chore(ui): add contextmenu requirements for web (#1261)

* fix unread separator

* feat(ui): `StreamChatConfiguration` class (#1128)

* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* feat(ui, core): add StreamAutocomplete (#1263)

* feat(ui, core): add stream_autocomplete.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(core, ui): refactor message input controller

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): minor fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add StreamAutocompleteOptions widget

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* Update packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

* fix(ui): cleanup

* chore(core, ui): cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): ignore no empty block

* chore(ui): more cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix command button for bigger screens, other fixes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* fix(ui): increase default file limit to 100MB (#1279)

* fix(ui): increase default file limit to 100MB

* Update packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart

* fix(ui): export kDefaultMaxAttachmentSize and use it in `StreamAttachmentPicker` default

* feat(ui): show dialog after clicking on the camera button and permission is denied (#1262)

* feat(ui): show dialog after clicking on the camera button and permission is denied

* chore(ui): update changelog

* Remove permission_handler plugin and refactor

* cleanup

* cleanup

* add tests

* fix(ui): reset the permission state on resume

* cleanup

* fix concurrent calls

* fix(ui): cleanup

* fix(ui): add try catch

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes (#1285)

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes

* fix(llc): do not save failed messages with attachments on web

* fix(llc): replace every with any

* chore(llc): add test

* fix analysis

* fix analysis

* chore(llc,core,ui,persistence): align changelog with v4

* fix(ui): do not linkify system message mentions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec (#1289)

* chore(ui): update deps

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(ui): publish beta.2

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController (#1291)

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController

* chore(core,ui): update changelog

* fix(ui): fix exports

* chore(ui): add tests

* chore(ui): add StreamMemberGridTile typedef

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* fix(ui): do not send empty message

* refactor(ui,localization): removed emoji picker and connected (#1292)

* refactor(ui,localization): removed emoji picker and connected

* chore(ui,localizations): update changelog

* chore(repo): update ui coverage threashold

* doc(ui): add autocomplete_triggers guide

* chore(ui): add tests for isOnlyEmoji

* chore(ui): add tests for isOnlyEmoji

* feat(ui): add `StreamAutocompleteTrigger.triggerOnlyAfterSpace`

* fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): flutter format

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix `stopTyping` unhandled exceptions when network is off or spotty. (#1296)

* feat(llc, ui): Introduce `keyStrokeHandler` to properly handle keyStrokes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): add key_stroke_handler_test.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(core): only handle the channel list event if the state is success.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(llc): add `hide_history` flag in `channel.addMembers`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Convert positional argument to optional arguments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): update tests

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* perf: improve image resizing

* fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): Added `thumbnailSize`, `thumbnailResizeType`, and `thumbnailCropType` params to `StreamMessageWidget` and `StreamAttachmentPicker` to customize the appearance of image thumbnails.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* Release v4.5.0 (#1308)

* chore(llc, ui, core): bump version to v4.5.0

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui, core): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* third party video integration

* fix llc

* refactor: clean up and add docs

* chore(llc): update changelog

* chore(llc): add tests

* chore(llc): add more tests

* fix analysis

* chore(llc): add more tests

* chore(llc): add more tests

* fix(llc): only start listening to event once connected.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): move files to correct folders.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): Fix message text hiding because of a flutter bug (#1327)

* fix(ui): remove clip

* chore(ui): update changelog

* cleanup

* fix(ui): hitting "enter" on the android keyboard sends the message instead of going to a new line.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add support for additional text field params in message input.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* remove print

* chore(llc,core,ui): update pubspec and changelogs (#1333)

* fix(ui): show placeholder for web video thumbs

* fix file download on web

* fix reply and show buttons

* remove tests

* treat svg as files

* fix(ui): change default image resize to clip

* solve some todos

* polish v5 fixing analysis issues

* feat(ui): stream attachment picker bottom sheet (#1336)

* refactor(ui): improve stream_attachment_handler.dart, add stream_attachment_picker_bottom_sheet.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add copyWith in command_button.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): remove permission_manager.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): some fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): fix lints, add doc comments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update melos and flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* remove todo

* update changelog

* update changelogs

* revert

* update coverage threasholds

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: GroovinChip <groovinchip@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sacha Arbonel <sacha.arbonel@hotmail.fr>
(cherry picked from commit 4f25422)

# Conflicts:
#	.github/workflows/dart_code_metrics.yaml
#	.github/workflows/stream_flutter_workflow.yml
#	analysis_options.yaml
#	docusaurus/docs/Flutter/guides/adding_push_notifications_v2.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications_v2.mdx
#	melos.yaml
#	packages/stream_chat/CHANGELOG.md
#	packages/stream_chat/lib/src/client/channel.dart
#	packages/stream_chat/lib/src/client/client.dart
#	packages/stream_chat/lib/src/client/key_stroke_handler.dart
#	packages/stream_chat/lib/src/core/api/stream_chat_api.dart
#	packages/stream_chat/lib/src/core/models/channel_model.dart
#	packages/stream_chat/lib/src/core/models/member.dart
#	packages/stream_chat/lib/src/core/models/member.g.dart
#	packages/stream_chat/lib/src/core/models/user.dart
#	packages/stream_chat/lib/stream_chat.dart
#	packages/stream_chat/lib/version.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/CHANGELOG.md
#	packages/stream_chat_flutter/example/android/app/build.gradle
#	packages/stream_chat_flutter/example/lib/main.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_1.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_4.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_5.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_6.dart
#	packages/stream_chat_flutter/example/pubspec.yaml
#	packages/stream_chat_flutter/lib/src/attachment/attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/stream_attachment_package.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/avatars/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/back_button.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/commands_overlay.dart
#	packages/stream_chat_flutter/lib/src/emoji_overlay.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/indicators/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_action.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/message_input/tld.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_search_item.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/misc/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/misc/date_divider.dart
#	packages/stream_chat_flutter/lib/src/misc/info_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart
#	packages/stream_chat_flutter/lib/src/misc/system_message.dart
#	packages/stream_chat_flutter/lib/src/misc/thread_header.dart
#	packages/stream_chat_flutter/lib/src/misc/visible_footnote.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_indexed_widget_builder.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/stream_chat.dart
#	packages/stream_chat_flutter/lib/src/stream_neumorphic_button.dart
#	packages/stream_chat_flutter/lib/src/stream_svg_icon.dart
#	packages/stream_chat_flutter/lib/src/theme/avatar_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/color_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/stream_chat_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/text_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/user/user_item.dart
#	packages/stream_chat_flutter/lib/src/user/user_mention_tile.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/utils/helpers.dart
#	packages/stream_chat_flutter/lib/src/video/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/video_service.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/attachment/file_attachment_test.dart
#	packages/stream_chat_flutter/test/src/attachment_actions_modal/attachment_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_header_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_image_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_name_test.dart
#	packages/stream_chat_flutter/test/src/image_footer_test.dart
#	packages/stream_chat_flutter/test/src/message_actions_modal/message_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/message_list_view/message_list_view_test.dart
#	packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart
#	packages/stream_chat_flutter/test/src/misc/date_divider_test.dart
#	packages/stream_chat_flutter/test/src/misc/info_tile_test.dart
#	packages/stream_chat_flutter/test/src/theme/channel_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/message_search_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/user_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/test_utils/golden.dart
#	packages/stream_chat_flutter_core/CHANGELOG.md
#	packages/stream_chat_flutter_core/example/lib/main.dart
#	packages/stream_chat_flutter_core/example/pubspec.yaml
#	packages/stream_chat_flutter_core/example/windows/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter_core/lib/src/channel_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/channels_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_notifier.freezed.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/user_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/users_bloc.dart
#	packages/stream_chat_flutter_core/lib/stream_chat_flutter_core.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_flutter_core/test/channel_list_core_test.dart
#	packages/stream_chat_flutter_core/test/channels_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_list_core_test.dart
#	packages/stream_chat_flutter_core/test/user_list_core_test.dart
#	packages/stream_chat_flutter_core/test/users_bloc_test.dart
#	packages/stream_chat_localizations/CHANGELOG.md
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/example/lib/main.dart
#	packages/stream_chat_localizations/example/lib/override_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_no.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_localizations/pubspec.yaml
#	packages/stream_chat_persistence/CHANGELOG.md
#	packages/stream_chat_persistence/example/android/app/build.gradle
#	packages/stream_chat_persistence/example/android/app/src/main/AndroidManifest.xml
#	packages/stream_chat_persistence/example/android/build.gradle
#	packages/stream_chat_persistence/example/lib/main.dart
#	packages/stream_chat_persistence/example/pubspec.yaml
#	packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart
#	packages/stream_chat_persistence/lib/src/db/shared/native_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/web_db.dart
#	packages/stream_chat_persistence/lib/src/entity/members.dart
#	packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart
#	packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart
#	packages/stream_chat_persistence/pubspec.yaml
kanat pushed a commit that referenced this issue May 1, 2023
feat: move scrollable positioned list to internal

(cherry picked from commit 3a7343904d2aa29f38ad7dfb1de86086e935362c)

chore: linting

(cherry picked from commit 51e0b90f941ab84fc58690504252915d718b3d96)

chore: linting

(cherry picked from commit f805419816720c5d3830e78d5030a64d2f71a27f)

chore: update scrollable positioned list

(cherry picked from commit 92d1967e61543e6a127d460a91cbf65fa3b23f0b)

fix(ui): add initialIndex and alignment to didUpdateWidget in scrollable list

(cherry picked from commit 03c2e44d73d005690232458c487f96bd666b7f6f)

chore: move scrollable positioned list directory

(cherry picked from commit 18dfd5a0111037f917746e8df823879c9bac235f)

# Conflicts:
#	analysis_options.yaml

# Conflicts:
#	packages/stream_chat_flutter/lib/src/message_list_view.dart

fix(ui): fix scroll to bottom logic

(cherry picked from commit 04ca2c6eebaf5be6d5da4c73041ce13d95fb14cb)

# Conflicts:
#	packages/stream_chat_flutter/lib/src/message_list_view.dart

fix(ui): fix quoted message scroll

(cherry picked from commit 04ca2c6eebaf5be6d5da4c73041ce13d95fb14cb)

fix(ui): fix positioned list view null check

(cherry picked from commit 26393402d8c3684d78a49fed99c5d27cf1e0ff66)

fix(ui): add `MessageListView.ScrollViewKeyboardDismissBehavior`

(cherry picked from commit 361b5e730318ee11ff9ca70642b5acb6917f2d1e)

# Conflicts:
#	packages/stream_chat_flutter/lib/src/message_list_view.dart

# Conflicts:
#	packages/stream_chat_flutter/lib/src/message_list_view.dart

remove unneeded import

(cherry picked from commit 1b08145bbfdba800a2574e9f5d51842c70a9495c)

chore(repo): add lints, update freezed, json_serializable

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit 069f380f418770711d459e6b5bfd830f80cc98c6)

# Conflicts:
#	analysis_options.yaml
#	packages/stream_chat/lib/src/core/models/attachment_file.freezed.dart
#	packages/stream_chat/lib/src/core/models/event.dart
#	packages/stream_chat/lib/src/core/models/own_user.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/date_divider.dart
#	packages/stream_chat_flutter/lib/src/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/info_tile.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/system_message.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/thread_header.dart
#	packages/stream_chat_flutter/lib/src/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/user_item.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/user_mentions_overlay.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/countdown_button.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_attachment_picker.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/visible_footnote.dart
#	packages/stream_chat_flutter/test/src/gradient_avatar_test.dart
#	packages/stream_chat_flutter_core/lib/src/message_text_field_controller.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_scroll_view.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_search_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_user_list_controller.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_persistence/lib/src/dao/channel_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/member_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/read_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/user_dao.dart

V5 (#1222)

* chore(flutter): change BoxFit of VLC player

* chore(flutter): remove unused imports

* chore(flutter sample): tweak breakpoints, ignore some lints

* chore(flutter): minor code readability improvements

* chore(flutter): extract out platform_widget_builder to its own "package"

* fix(flutter): fix a theme bug with PlatformDialog

* chore(persistence): test plugin on macOS

* Generated the macos runner for the example
* Re-generated the android runner because it was using the v1 embedding

* chore(persistence): test plugin on web

* chore(persistence): add Windows runner to example

* chore(persistence): add linux runner to example

* feat(flutter): branded context menus

* chore(flutter): fix bug where lines would be shown in between menu items

* chore(flutter): import/export fixes

* chore(flutter): move file

* chore(flutter): /src/channel

Also refactors several /channel widgets to use class widgets instead of methods. Some methods, however, have been left as those cases do actually produce cleaner code.

chore(flutter): fix bad directory placement

chore(flutter): fix bad directory placement

* chore(flutter): more directory organization

* chore(flutter): navigator improvements

* chore(flutter): void async improvements

* chore(flutter): fix imports/exports

* docs(flutter): documentation updates for /attachment

* docs(flutter): doc updates

For:
* /avatars
* /bottom_sheets
* /channel

* feat(flutter): selectable message text on web & desktop

* Squashed commit of the following:

commit 50b249edb6b2ee2d744e4e00e97f81979026aab4
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:55:05 2022 -0400

    chore(flutter): wrapping up docs

commit 7d289ae45e20c0109bcdb4496f7b693e2adc4ef9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:42:09 2022 -0400

    chore(flutter): more docs & typedefs

commit 6b36f6f3864f15b52e441d58ee7e62577ff8f843
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:22:34 2022 -0400

    chore(flutter): more doc fixes

commit 1a9a6de3c836e9ee5d6373033f1d9a7da830bddc
Merge: 59188f5d 88abf99f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 13:17:52 2022 -0400

    Merge branch 'desk_web_dev' into utils

commit 59188f5d9c1dd68edd531086cdfd9d42faf93fc8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:48:16 2022 -0400

    chore(flutter): add todo

commit 9b4a986ca5757f284677eb5335637d11ccb1d642
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:43:12 2022 -0400

    chore(flutter): more docs and typedefs updates

commit 8786d2dd82b94f673b36371fb2b33a1ebcc9840a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:14:14 2022 -0400

    chore(flutter): more typedef and doc template updates

commit 9e906beb0e7a054c13a32c8c8c5b0e2a9e27bb21
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 10:46:04 2022 -0400

    chore(flutter): create /uitils and move files

    Fixes subsequent imports/exports

* chore(flutter): update file_selector plugin

* chore(flutter): include utils/typedefs.dart in library export

* Squashed commit of the following:

commit 501228afa614b0d740858dec1ebedd3f671e2c96
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 16:18:12 2022 -0400

    feat(flutter): ensure fullscreen media feature works on ALL platforms

commit cd0aab92bc7d90af03258829a5aae66125578af5
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 14:26:48 2022 -0400

    feat(flutter): working conditional import for initializing VLC

* fix(flutter): remove stray import causing web to break

* chore(flutter): ensure context menus can show on web in sample

* feat(flutter) FullScreenMedia context menus for Web

* feat(flutter): branded context menus

* chore(flutter): no success dialog on file download (web)

* chore(flutter): remove platform UI packages

* chore(flutter): properly show/hide delete message menu item

Also deletes deprecated PlatformDialog

* feat(flutter): 'view info' channel preview context menu

* feat(flutter): more menu actions for ChannelPreview

Also new ConfirmationDialog and add missing docs

* feat(flutter/localizations): translations related to channel mutes

* chore(flutter): remove prints and fix super.didChangeDependencies order

* chore(flutter): rename some things in ChannelBottomSheet

* chore(flutter): more sensible name in TypingIndicator

* chore(flutter): remove unused code in MessageWidget

* feat(flutter): ChannelInfoDialog

* chore(flutter): organize files more

Also refactors out some internal MessageListView widgets

* fix(flutter): fix render overflow issue

* chore(flutter): move MediaListView

* chore(flutter): remove unused imports

* fix(flutter): fix weird share menu placement on macos

* chore(flutter): clean up fullscreenmedia conditional imports

* chore(flutter): adjust package exports

* chore(flutter): update dart_vlc

* chore(flutter): clean up platform checks

* chore(flutter): run flutter format on lib

* chore(flutter): minor sample cleanup

* chore(flutter): ensure vlc doesn't get initialized in non-desktop testing environments

* test(flutter): reformat existing tests

* fix(flutter): pass onThreadReplyTap down to ThreadReplyButton

* First round of new tests

commit a90bed427521123fdaa4c5e276744a224fac2b68
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:34:19 2022 -0400

    test(flutter): Username test

commit d7bc179c20eae2713c9248191518bf1d955104a9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:30:47 2022 -0400

    chore(flutter): remove unused imports

commit 09c9517de2917dc5ccd7de019b50a7875386991c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:29:58 2022 -0400

    test(flutter): ThreadSeparator test

commit 9422d1129211aaaac9a51ca4d29fe94bde06593c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:19:43 2022 -0400

    chore(flutter): rename LoadingIndicator parameter

commit 63af943a1a16e78a1e0377d76176420bd7e1fbc7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 11:47:46 2022 -0400

    test(flutter): FloatingDateDivider test

commit d8e67cf6fca2b76ac091a9047104c0910d5fdfef
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 15:19:39 2022 -0400

    test(flutter): InputAttachment tests

commit d2b7d5dd3304c8be6f74bf5b0281d7a95dd027ec
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:41:40 2022 -0400

    test(flutter): DmCheckbox tests

commit 01567f235a2f00880bb530b232489e3790159b25
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:16:08 2022 -0400

    chore(flutter): remove unused imports

commit c9625858e840df6082506ae9374f1d2710053cbd
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:15:44 2022 -0400

    test(flutter): CountdownButton tests

commit d770474bb11ee8b36a3b0e18db31695fd812a6b3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:11:37 2022 -0400

    test(flutter): CommandButton tests

commit 95e63706d1dd971373d39d471894a38bb2a634f2
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:07:43 2022 -0400

    test(flutter): ClearInputItem tests

commit 4156586945c91408cb7943b6c57c2ae560a2857c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:03:59 2022 -0400

    test(flutter): AttachmentButton tests

commit bba042806326999aabf338636c6e33900de86160
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 13:00:42 2022 -0400

    test(flutter): golden test for SendButton

commit e2cd0f00b9eeb8d81399f6316edb298234de12dc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:52 2022 -0400

    chore(flutter): deal with lints

commit b4e045f9cbd54c4d42c3f30acfe72d5f8ccf9d82
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:00 2022 -0400

    test(flutter): SendButton test

commit 4e3d5db0bddb97e508fcdda2e7272fe31e70808f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:38:21 2022 -0400

    test(flutter): KeyboardShortcutRunner tests

commit 0dfd7a0bd6fd6bc76902e87f62ac29da0b01bac6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:17:30 2022 -0400

    test(flutter): UploadProgressIndicator

commit ec50c8aea716bdc19e4308e367c8331211c61ea3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:47:53 2022 -0400

    test(flutter): SendingIndicator tests

commit e87bd1450fb5bfb713a867c7e831968f76428848
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:32:35 2022 -0400

    test(flutter): more gallery tests

commit 93d46ca649277fe6d289a70f0bdd23584fd0ab94
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:17:29 2022 -0400

    test(flutter): remove bad mock

commit c7b03a39f0f3ca7a334dfb908f3473b5e4deab38
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 10:45:45 2022 -0400

    chore(flutter): minor refactor

commit 33aeb7b5ed398287cb930f3b4702f47a82fce2c6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:49:07 2022 -0400

    test(flutter): MessageDialog tests

commit 220b3ae591e135d9606254666e04d4771945d0ae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:42:51 2022 -0400

    test(flutter): DeleteMessageDialog tests

commit db508478bb96749971f563de87b6c2a49e1e4e57
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:46:41 2022 -0400

    test(flutter): ConfirmationDialog tests

commit e8172dad6bfe18f40b65554ef2c6c16d7437cb56
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:35:50 2022 -0400

    test(flutter): ChannelInfoDialog test

commit 04c21458a601af3c3f4a5fc5ce9e8b61493c208c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:57:02 2022 -0400

    test(flutter): DownloadMenuItem tests

commit afee1dace543e2fef8543f9b035f684b2ee00f3b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:53:21 2022 -0400

    test(flutter): StreamChatContextMenuItem tests

commit 4616b1a973d0cf5224b5a71914c9908339c8462a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:02:07 2022 -0400

    test(flutter): golden test for ErrorAlertSheet

commit 22fb8241ae333f57ade8e8550f87695929836b2b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:59:01 2022 -0400

    test(flutter): golden test for EditMessageSheet

commit 0be79964827f344ba66e99cb9e5bd3d627aed01d
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:56:08 2022 -0400

    test(flutter): golden test for AttachmentModalSheet

commit 0ae842a98143478885bc211c788353c8bca57b40
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:53:26 2022 -0400

    test(flutter): GroupAvatar tests

commit 697d294c6c7e1bba1d9089a53d5c60d8609ea64e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:30:25 2022 -0400

    test(flutter): UserAvatar tests

commit c03ba4124068c83d3a49c4db00ca18a659801c23
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 11:04:55 2022 -0400

    test(flutter): ErrorAlertSheet test

commit 3414f28530b0e22614b83af20361f21dd4967fae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:45:37 2022 -0400

    test(flutter): EditMessageSheet test

commit b2962b641dfbf14c11d3da7f80a4be27f9980d90
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:37:18 2022 -0400

    test(flutter): AttachmentModalSheet test

    test(flutter): AttachmentModalSheet test

    chore(flutter): update exports

commit 7d7e278692c65dea84e7ef3b2d3c1311ebb28408
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:52:29 2022 -0400

    test(flutter): more organization

commit 4479b649835acc62d8a0553f9505a0af8077abfc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:33:06 2022 -0400

    test(flutter): tweak AttachmentHandler tests

commit b4a41106567e3c08105ce8dc272b1ebf40b3b0bb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:24:00 2022 -0400

    chore(flutter): streamline attachment handling

    * MobileAttachmentHandler for streamlining related code for mobile
    * Break out DesktopAttachmentHandler into its own file
    * Update minSdk version in Android runner

commit bfb06d31b79cd941d8b611c7e89e2d7728a394cb
Merge: a44b3b39 15c83d03
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 13:00:27 2022 -0400

    Merge branch 'desk_web_dev' into tests

commit a44b3b390adc25a00d1597bb1460973e8555fa9e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:59:14 2022 -0400

    chore(flutter): start cleaning up test dir

commit de104a3491d942d12f72dd66152b62c6e8b10a5b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:56:48 2022 -0400

    test(flutter): VideoAttachment test

commit 4748a1c081a3272f7fdbdeb69c501344e221e01e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:52:30 2022 -0400

    test(flutter): UrlAttachment test

commit 54408ef70f07c60adf8350553fdf3173e5edd7c7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:48:24 2022 -0400

    test(flutter): ImageGroup test

commit 811cff069e490c6bd03be0c0ac2f5ec86fb990e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:46:04 2022 -0400

    test(flutter): ImageAttachment test

commit a72677976c6524e76793432b0520e99cac4e7a62
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:34:06 2022 -0400

    test(flutter): GiphyAttachment test

commit 32ddac022e2c149726b4b6607f41850d556055b8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:28:01 2022 -0400

    test(flutter): FileAttachment test

commit 6534958cab775be1fb9bda56e67caa4746aa1502
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:14:25 2022 -0400

    test(flutter): AttachmentError test

commit 718a83c10c4e883ce01c9c002ced24de671d30b9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:06:43 2022 -0400

    test(flutter): AttachmentUploadStateBuilder test

commit a05108c460e36b2e425e4ec06f8bf408b0c20e97
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:44:34 2022 -0400

    chore(flutter): minor cleanup

commit 6e73038ac3714a2bd96f8c587af7f743bf2b2023
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:23 2022 -0400

    test(flutter): AttachmentTitle test

commit c6ee52ec951877feef31dc1427eec3bfc2bd8fcb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:11 2022 -0400

    test(flutter): minor cleanup

commit 09845cd845aa8c546043f4ae04805a8e6f53f61c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:42:52 2022 -0400

    chore(flutter): improve device segmentation & vlc init check

commit 172e6b25a064b5147b7641f29ebff3c920156f70
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 10:37:43 2022 -0400

    test(flutter): attachment_handler tests

commit 5f5a91c70cd7c069f39518f1f50bb74ab484c7e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:27 2022 -0400

    test(flutter): test PlatformWidgetBuilder & DesktopWidgetBuilder

commit 5a457b7557cb4127b74ee022389a24e5e9150601
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:05 2022 -0400

    chore(flutter): make base platform widgets testable

    Also fix environment check in stream_chat.dart

commit 88fb16018103c581236aeebd978e705b223b2243
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:59:19 2022 -0400

    chore(flutter): add readme to conditional_parent_widget library

commit e9307f8a6a5639d59358c245f033f9d9b209fe20
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:54:54 2022 -0400

    test(flutter): ConditionalParentBuilder tests

* chore(flutter): add thumblr dependency

* chore(flutter): fix typos

* chore(flutter): properly order super calls

* feat(flutter) video thumbnails on desktop

* chore(flutter): fix incorrect file name

* chore(flutter): fix docs for generateVideoThumbnail

* chore(flutter): remove incorrect comment

* chore(flutter): run flutter format

* chore(flutter): ignore lint

* chore(flutter): flutter format

* chore(flutter): fix tests

* fix(flutter): fix MessageListView bug caused by rebase

* chore(flutter): migrate desktop stuff to v4/stream_message_input.dart

* chore(flutter): migrate over desktop changes for message replies

* chore(flutter): fix message replies on desktop

* chore(flutter): address lints

* chore(flutter): update dart_vlc

* chore(flutter): melos clean & update photo_view

* fix(ui): port #1118

* fix(ui): use attachmentButtonBuilder

* fix(ui): fix file attachment

* format

* fix(ui): fix message bottom row

* chore(flutter sample): use modern window look

* chore(flutter): pass userAvatarBuilder through to MessageWidgetContent

Also pass onUserAvatarTap & userAvatarBuilder through to UserAvatarTransform

* chore: fix MessageWidget menu actions

* fix(flutter): fix "enter" sending empty messages in StreamMessageInput

* fix(flutter): fix Giphys not loading in quoted messages

* chore(flutter): update thumblr

* feat(flutter): keyboard navigation for gallery items

* fix(ui): fix double date divider

* fix(ui): add scroll to bottom back

* fix(ui): use mouse region

* fix(ui): remove backbutton in desktop example

* fix(ui): rename full screen media widget

* feat(flutter): elevation prop for gallery header

* chore(flutter): update dart_vlc

* fix(flutter): fix "show in chat" showing when it shouldn't

* fix(flutter): fix "show in chat" for mobile

* docs(flutter): minor doc update

* chore(flutter): add onMessageSwiped in example app

* chore(flutter): pass usernameBuilder through to BottomRow

* fix(flutter): hacky fix for chonky link previews

* fix(flutter): fix chonky text messages

* feat(flutter): press "esc" to close gallery

Also refactors KeyboardShortcutRunner API

* chore(flutter): fix innaccurate name

* fix(ui): fix attachment + long text sizing

* add key to channelpage

* fix(ui): better example

* fix format

* fix example

* chore(flutter): revert modern window look

* improvement(flutter): improve `GalleryNavigationItem`

* Make buttons more visible
* Spacing from the sides of the screen

* fix video thumbnail

* fix split view

* fix(ui): fix giphy in thread

* feat(flutter): desktop message reactions

commit 4b880ecb6d4dcbf315a7d41d863174817a9c530a
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Thu Jun 9 12:25:21 2022 -0400

    fix(flutter): fixes for desktop reactions

    * Fix reactions for reverse messages
    * Ensure reactions near the edges of MessageListView show properly

commit f511513f8dbb272397e81d08bad33ee60108d738
Author: Salvatore Giordano <salvatoregiordanoo@gmail.com>
Date:   Thu Jun 9 16:43:03 2022 +0200

    fix(ui): fix DesktopReactionBuilder and Portal

commit c4885648330552f5212c5ba6b771c0f07023f6ae
Merge: 2b710a2b 72b34c21
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Wed Jun 8 14:12:44 2022 -0400

    Merge branch 'desk_web_dev' into desktop_reactions

commit 2b710a2bb610326123d5b7f75c26caa705114c9b
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:19:12 2022 -0400

    chore(flutter): add debug props

commit e24dabc1de12da8dce697b6d4e1a3617e9835549
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:00:03 2022 -0400

    feat(flutter): first pass at desktop reactions popup on mouse hover

* fix(flutter): potential fix for #1199

* fix(flutter): fix non-reversed reactions placement

* refactor(flutter): extract bottom reaction, stacked reaction

with debug props

* fix(flutter): fixes for desktop reactions

* Fix bottom row being rendered above reaction buttons
* Fix padding issues related to avatars

* chore(flutter): add back lost changes from 2b1fb6a

Also removed commented code

* chore(flutter): stacked reactions update

* Show "You" if userId matches the reaction username (per design)
* Ensure long names don't throw off alignment

* chore(flutter): format

* fix(ui): fix mime type generation

* chore(flutter): tweak desktop video

* chore(flutter): add some missing things from develop

* merge develop

* fix merge

* fix merge

* format

* fix tests

* increate test action timeout

* remove test

* refactor(ui,core): remove deprecated code and cleanup

* run builder

* update coverage threasholds

* refactor(ui): remove arrow function from countdown button

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* update comment

* fix(ui): fix attachment + link solution

* fix(ui): fix attachment + link solution

* chore(flutter) update changelog and version

* chore(localizations): update changelog and versions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* fix example

* fix deps

* fix(ui): fix enter sending the message while in slowmode

* fix(ui): fix reaction list

* fix web

* fix(ui): fix image download when using assetUrl

* fix(ui): fix typo in changelog

* fix(ui): fix gallery navigation

* fix(ui): fix giphy sending size

* fix(ui): add keyboard shorcuts to gallery view

* fix(ui): fix gallery footer

* fix(core): allow scroll notification bubbling in lazy load scroll view

* fix(ui): fix lazy load scroll view

* fix(ui): fix loading to unread position

* fix(ui): fix last message preview

* chore(ui): update changelog

* fix tests

* fix(llc): fix connecting while connecting and disconneting (#1237)

* fix(llc): fix connecting while connecting and disconneting

* chore(llc): update changelog

* chore(llc): add test

* chore(llc): improve test

* fix(llc): _resetRequestFlags regardless of the connection status

* feat(llc): add support for AttachmentFileUploaderProvider. (#1246)

* feat(llc): add support for `AttachmentFileUploaderProvider`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Remove deprecated attachmentFileUploader field.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* port no localization

* fix(ui): fix jiffy locale initialization (#1255)

* fix(ui): fix jiffy locale initialization

* chore(ui): update changelog

* fix(ui): cleanup

* chore(llc,core,ui,persistence,localizations): align changelog

* chore(llc,core,ui,persistence,localizations): add links to 4.x changelogs

* fix(ui): fix date divider not showing (#1259)

* fix(ui): fix date divider not showing

* chore(ui): update changelog

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix separator

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* chore(ui): add contextmenu requirements for web (#1261)

* fix unread separator

* feat(ui): `StreamChatConfiguration` class (#1128)

* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* feat(ui, core): add StreamAutocomplete (#1263)

* feat(ui, core): add stream_autocomplete.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(core, ui): refactor message input controller

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): minor fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add StreamAutocompleteOptions widget

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* Update packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

* fix(ui): cleanup

* chore(core, ui): cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): ignore no empty block

* chore(ui): more cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix command button for bigger screens, other fixes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* fix(ui): increase default file limit to 100MB (#1279)

* fix(ui): increase default file limit to 100MB

* Update packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart

* fix(ui): export kDefaultMaxAttachmentSize and use it in `StreamAttachmentPicker` default

* feat(ui): show dialog after clicking on the camera button and permission is denied (#1262)

* feat(ui): show dialog after clicking on the camera button and permission is denied

* chore(ui): update changelog

* Remove permission_handler plugin and refactor

* cleanup

* cleanup

* add tests

* fix(ui): reset the permission state on resume

* cleanup

* fix concurrent calls

* fix(ui): cleanup

* fix(ui): add try catch

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes (#1285)

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes

* fix(llc): do not save failed messages with attachments on web

* fix(llc): replace every with any

* chore(llc): add test

* fix analysis

* fix analysis

* chore(llc,core,ui,persistence): align changelog with v4

* fix(ui): do not linkify system message mentions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec (#1289)

* chore(ui): update deps

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(ui): publish beta.2

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController (#1291)

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController

* chore(core,ui): update changelog

* fix(ui): fix exports

* chore(ui): add tests

* chore(ui): add StreamMemberGridTile typedef

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* fix(ui): do not send empty message

* refactor(ui,localization): removed emoji picker and connected (#1292)

* refactor(ui,localization): removed emoji picker and connected

* chore(ui,localizations): update changelog

* chore(repo): update ui coverage threashold

* doc(ui): add autocomplete_triggers guide

* chore(ui): add tests for isOnlyEmoji

* chore(ui): add tests for isOnlyEmoji

* feat(ui): add `StreamAutocompleteTrigger.triggerOnlyAfterSpace`

* fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): flutter format

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix `stopTyping` unhandled exceptions when network is off or spotty. (#1296)

* feat(llc, ui): Introduce `keyStrokeHandler` to properly handle keyStrokes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): add key_stroke_handler_test.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(core): only handle the channel list event if the state is success.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(llc): add `hide_history` flag in `channel.addMembers`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Convert positional argument to optional arguments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): update tests

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* perf: improve image resizing

* fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): Added `thumbnailSize`, `thumbnailResizeType`, and `thumbnailCropType` params to `StreamMessageWidget` and `StreamAttachmentPicker` to customize the appearance of image thumbnails.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* Release v4.5.0 (#1308)

* chore(llc, ui, core): bump version to v4.5.0

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui, core): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* third party video integration

* fix llc

* refactor: clean up and add docs

* chore(llc): update changelog

* chore(llc): add tests

* chore(llc): add more tests

* fix analysis

* chore(llc): add more tests

* chore(llc): add more tests

* fix(llc): only start listening to event once connected.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): move files to correct folders.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): Fix message text hiding because of a flutter bug (#1327)

* fix(ui): remove clip

* chore(ui): update changelog

* cleanup

* fix(ui): hitting "enter" on the android keyboard sends the message instead of going to a new line.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add support for additional text field params in message input.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* remove print

* chore(llc,core,ui): update pubspec and changelogs (#1333)

* fix(ui): show placeholder for web video thumbs

* fix file download on web

* fix reply and show buttons

* remove tests

* treat svg as files

* fix(ui): change default image resize to clip

* solve some todos

* polish v5 fixing analysis issues

* feat(ui): stream attachment picker bottom sheet (#1336)

* refactor(ui): improve stream_attachment_handler.dart, add stream_attachment_picker_bottom_sheet.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add copyWith in command_button.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): remove permission_manager.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): some fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): fix lints, add doc comments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update melos and flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* remove todo

* update changelog

* update changelogs

* revert

* update coverage threasholds

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: GroovinChip <groovinchip@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sacha Arbonel <sacha.arbonel@hotmail.fr>
(cherry picked from commit 4f2542291c1090bbfa986b8816db53792dc14029)

# Conflicts:
#	.github/workflows/dart_code_metrics.yaml
#	.github/workflows/stream_flutter_workflow.yml
#	analysis_options.yaml
#	docusaurus/docs/Flutter/guides/adding_push_notifications_v2.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications_v2.mdx
#	melos.yaml
#	packages/stream_chat/CHANGELOG.md
#	packages/stream_chat/lib/src/client/channel.dart
#	packages/stream_chat/lib/src/client/client.dart
#	packages/stream_chat/lib/src/client/key_stroke_handler.dart
#	packages/stream_chat/lib/src/core/api/stream_chat_api.dart
#	packages/stream_chat/lib/src/core/models/channel_model.dart
#	packages/stream_chat/lib/src/core/models/member.dart
#	packages/stream_chat/lib/src/core/models/member.g.dart
#	packages/stream_chat/lib/src/core/models/user.dart
#	packages/stream_chat/lib/stream_chat.dart
#	packages/stream_chat/lib/version.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/CHANGELOG.md
#	packages/stream_chat_flutter/example/android/app/build.gradle
#	packages/stream_chat_flutter/example/lib/main.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_1.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_4.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_5.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_6.dart
#	packages/stream_chat_flutter/example/pubspec.yaml
#	packages/stream_chat_flutter/lib/src/attachment/attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/stream_attachment_package.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/avatars/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/back_button.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/commands_overlay.dart
#	packages/stream_chat_flutter/lib/src/emoji_overlay.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/indicators/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_action.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/message_input/tld.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_search_item.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/misc/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/misc/date_divider.dart
#	packages/stream_chat_flutter/lib/src/misc/info_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart
#	packages/stream_chat_flutter/lib/src/misc/system_message.dart
#	packages/stream_chat_flutter/lib/src/misc/thread_header.dart
#	packages/stream_chat_flutter/lib/src/misc/visible_footnote.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_indexed_widget_builder.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/stream_chat.dart
#	packages/stream_chat_flutter/lib/src/stream_neumorphic_button.dart
#	packages/stream_chat_flutter/lib/src/stream_svg_icon.dart
#	packages/stream_chat_flutter/lib/src/theme/avatar_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/color_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/stream_chat_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/text_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/user/user_item.dart
#	packages/stream_chat_flutter/lib/src/user/user_mention_tile.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/utils/helpers.dart
#	packages/stream_chat_flutter/lib/src/video/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/video_service.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/attachment/file_attachment_test.dart
#	packages/stream_chat_flutter/test/src/attachment_actions_modal/attachment_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_header_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_image_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_name_test.dart
#	packages/stream_chat_flutter/test/src/image_footer_test.dart
#	packages/stream_chat_flutter/test/src/message_actions_modal/message_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/message_list_view/message_list_view_test.dart
#	packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart
#	packages/stream_chat_flutter/test/src/misc/date_divider_test.dart
#	packages/stream_chat_flutter/test/src/misc/info_tile_test.dart
#	packages/stream_chat_flutter/test/src/theme/channel_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/message_search_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/user_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/test_utils/golden.dart
#	packages/stream_chat_flutter_core/CHANGELOG.md
#	packages/stream_chat_flutter_core/example/lib/main.dart
#	packages/stream_chat_flutter_core/example/pubspec.yaml
#	packages/stream_chat_flutter_core/example/windows/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter_core/lib/src/channel_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/channels_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_notifier.freezed.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/user_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/users_bloc.dart
#	packages/stream_chat_flutter_core/lib/stream_chat_flutter_core.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_flutter_core/test/channel_list_core_test.dart
#	packages/stream_chat_flutter_core/test/channels_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_list_core_test.dart
#	packages/stream_chat_flutter_core/test/user_list_core_test.dart
#	packages/stream_chat_flutter_core/test/users_bloc_test.dart
#	packages/stream_chat_localizations/CHANGELOG.md
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/example/lib/main.dart
#	packages/stream_chat_localizations/example/lib/override_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_no.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_localizations/pubspec.yaml
#	packages/stream_chat_persistence/CHANGELOG.md
#	packages/stream_chat_persistence/example/android/app/build.gradle
#	packages/stream_chat_persistence/example/android/app/src/main/AndroidManifest.xml
#	packages/stream_chat_persistence/example/android/build.gradle
#	packages/stream_chat_persistence/example/lib/main.dart
#	packages/stream_chat_persistence/example/pubspec.yaml
#	packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart
#	packages/stream_chat_persistence/lib/src/db/shared/native_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/web_db.dart
#	packages/stream_chat_persistence/lib/src/entity/members.dart
#	packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart
#	packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart
#	packages/stream_chat_persistence/pubspec.yaml

docs: v5 (#1341)

* feat: version docs and add stream_member_list_controller docs

* feat: add member list and grid doc

* exported extensions on ui package

* feat: add first version of v5 migration guide

* docs: grammar fixes and other v5 release details

* docs: add additional v5 migration info

* update WrapAttachmentWidget doc

* add back v4 migration guide

* docs(doc): add customize_attachment_picker_modal.mdx guide. (#1343)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* update link for attachment picker guide

* update share_plus

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
(cherry picked from commit 08295e52909019d009601319d089758e6c6ceab2)

# Conflicts:
#	docusaurus/docs/Flutter/guides/slidable_channel_list_preview.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter/stream_message_widget.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter-docusaurus-dontent-docs.plugin.js
#	docusaurus/flutter_versions.json
#	packages/stream_chat_flutter/example/linux/flutter/generated_plugin_registrant.cc
#	packages/stream_chat_flutter/example/linux/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/handler/stream_attachment_handler_html.dart
#	packages/stream_chat_flutter/lib/src/attachment/handler/stream_attachment_handler_io.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_command_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/attachment_modal_sheet.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/edit_message_sheet.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/error_alert_sheet.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/context_menu_items/context_menu_reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/context_menu_items/download_menu_item.dart
#	packages/stream_chat_flutter/lib/src/date_divider.dart
#	packages/stream_chat_flutter/lib/src/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/dialogs/confirmation_dialog.dart
#	packages/stream_chat_flutter/lib/src/dialogs/delete_message_dialog.dart
#	packages/stream_chat_flutter/lib/src/dialogs/message_dialog.dart
#	packages/stream_chat_flutter/lib/src/fullscreen_media/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/fullscreen_media/full_screen_media_desktop.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/copy_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/delete_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/edit_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/flag_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/pin_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/reply_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/resend_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/thread_reply_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_image_picker.dart
#	packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_video_picker.dart
#	packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker.dart
#	packages/stream_chat_flutter/lib/src/message_input/dm_checkbox.dart
#	packages/stream_chat_flutter/lib/src/message_input/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_input/quoting_message_top_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/loading_indicator.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/thread_separator.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/unread_messages_separator.dart
#	packages/stream_chat_flutter/lib/src/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/bottom_row.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_card.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_widget_content.dart
#	packages/stream_chat_flutter/lib/src/message_widget/parse_attachments.dart
#	packages/stream_chat_flutter/lib/src/message_widget/pinned_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/desktop_reactions_builder.dart
#	packages/stream_chat_flutter/lib/src/message_widget/sending_indicator_wrapper.dart
#	packages/stream_chat_flutter/lib/src/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/member_scroll_view/stream_member_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/member_scroll_view/stream_member_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/thread_header.dart
#	packages/stream_chat_flutter/lib/src/user_item.dart
#	packages/stream_chat_flutter/lib/src/user_mentions_overlay.dart
#	packages/stream_chat_flutter/lib/src/utils.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/visible_footnote.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/dialogs/confirmation_dialog_test.dart
#	packages/stream_chat_flutter/test/src/extension_test.dart

fix(ui): remove unused member

(cherry picked from commit 7629eae3be3291980d09e057044a9f6fb1f1162f)

fix pana checks

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit 1c4fda8465c3f9b625bba1df2becf441f3fe1d15)

# Conflicts:
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart

revert some changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit a909261072ba3df157e9adab625fe56966564f95)

# Conflicts:
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart

some more revert

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit a1a4e55e75050e2bdd54a2217521780043d08c6f)
kanat pushed a commit that referenced this issue May 1, 2023
* chore(flutter): change BoxFit of VLC player

* chore(flutter): remove unused imports

* chore(flutter sample): tweak breakpoints, ignore some lints

* chore(flutter): minor code readability improvements

* chore(flutter): extract out platform_widget_builder to its own "package"

* fix(flutter): fix a theme bug with PlatformDialog

* chore(persistence): test plugin on macOS

* Generated the macos runner for the example
* Re-generated the android runner because it was using the v1 embedding

* chore(persistence): test plugin on web

* chore(persistence): add Windows runner to example

* chore(persistence): add linux runner to example

* feat(flutter): branded context menus

* chore(flutter): fix bug where lines would be shown in between menu items

* chore(flutter): import/export fixes

* chore(flutter): move file

* chore(flutter): /src/channel

Also refactors several /channel widgets to use class widgets instead of methods. Some methods, however, have been left as those cases do actually produce cleaner code.

chore(flutter): fix bad directory placement

chore(flutter): fix bad directory placement

* chore(flutter): more directory organization

* chore(flutter): navigator improvements

* chore(flutter): void async improvements

* chore(flutter): fix imports/exports

* docs(flutter): documentation updates for /attachment

* docs(flutter): doc updates

For:
* /avatars
* /bottom_sheets
* /channel

* feat(flutter): selectable message text on web & desktop

* Squashed commit of the following:

commit 50b249edb6b2ee2d744e4e00e97f81979026aab4
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:55:05 2022 -0400

    chore(flutter): wrapping up docs

commit 7d289ae45e20c0109bcdb4496f7b693e2adc4ef9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:42:09 2022 -0400

    chore(flutter): more docs & typedefs

commit 6b36f6f3864f15b52e441d58ee7e62577ff8f843
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:22:34 2022 -0400

    chore(flutter): more doc fixes

commit 1a9a6de3c836e9ee5d6373033f1d9a7da830bddc
Merge: 59188f5d 88abf99
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 13:17:52 2022 -0400

    Merge branch 'desk_web_dev' into utils

commit 59188f5d9c1dd68edd531086cdfd9d42faf93fc8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:48:16 2022 -0400

    chore(flutter): add todo

commit 9b4a986ca5757f284677eb5335637d11ccb1d642
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:43:12 2022 -0400

    chore(flutter): more docs and typedefs updates

commit 8786d2dd82b94f673b36371fb2b33a1ebcc9840a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:14:14 2022 -0400

    chore(flutter): more typedef and doc template updates

commit 9e906beb0e7a054c13a32c8c8c5b0e2a9e27bb21
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 10:46:04 2022 -0400

    chore(flutter): create /uitils and move files

    Fixes subsequent imports/exports

* chore(flutter): update file_selector plugin

* chore(flutter): include utils/typedefs.dart in library export

* Squashed commit of the following:

commit 501228afa614b0d740858dec1ebedd3f671e2c96
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 16:18:12 2022 -0400

    feat(flutter): ensure fullscreen media feature works on ALL platforms

commit cd0aab92bc7d90af03258829a5aae66125578af5
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 14:26:48 2022 -0400

    feat(flutter): working conditional import for initializing VLC

* fix(flutter): remove stray import causing web to break

* chore(flutter): ensure context menus can show on web in sample

* feat(flutter) FullScreenMedia context menus for Web

* feat(flutter): branded context menus

* chore(flutter): no success dialog on file download (web)

* chore(flutter): remove platform UI packages

* chore(flutter): properly show/hide delete message menu item

Also deletes deprecated PlatformDialog

* feat(flutter): 'view info' channel preview context menu

* feat(flutter): more menu actions for ChannelPreview

Also new ConfirmationDialog and add missing docs

* feat(flutter/localizations): translations related to channel mutes

* chore(flutter): remove prints and fix super.didChangeDependencies order

* chore(flutter): rename some things in ChannelBottomSheet

* chore(flutter): more sensible name in TypingIndicator

* chore(flutter): remove unused code in MessageWidget

* feat(flutter): ChannelInfoDialog

* chore(flutter): organize files more

Also refactors out some internal MessageListView widgets

* fix(flutter): fix render overflow issue

* chore(flutter): move MediaListView

* chore(flutter): remove unused imports

* fix(flutter): fix weird share menu placement on macos

* chore(flutter): clean up fullscreenmedia conditional imports

* chore(flutter): adjust package exports

* chore(flutter): update dart_vlc

* chore(flutter): clean up platform checks

* chore(flutter): run flutter format on lib

* chore(flutter): minor sample cleanup

* chore(flutter): ensure vlc doesn't get initialized in non-desktop testing environments

* test(flutter): reformat existing tests

* fix(flutter): pass onThreadReplyTap down to ThreadReplyButton

* First round of new tests

commit a90bed427521123fdaa4c5e276744a224fac2b68
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:34:19 2022 -0400

    test(flutter): Username test

commit d7bc179c20eae2713c9248191518bf1d955104a9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:30:47 2022 -0400

    chore(flutter): remove unused imports

commit 09c9517de2917dc5ccd7de019b50a7875386991c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:29:58 2022 -0400

    test(flutter): ThreadSeparator test

commit 9422d1129211aaaac9a51ca4d29fe94bde06593c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:19:43 2022 -0400

    chore(flutter): rename LoadingIndicator parameter

commit 63af943a1a16e78a1e0377d76176420bd7e1fbc7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 11:47:46 2022 -0400

    test(flutter): FloatingDateDivider test

commit d8e67cf6fca2b76ac091a9047104c0910d5fdfef
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 15:19:39 2022 -0400

    test(flutter): InputAttachment tests

commit d2b7d5dd3304c8be6f74bf5b0281d7a95dd027ec
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:41:40 2022 -0400

    test(flutter): DmCheckbox tests

commit 01567f235a2f00880bb530b232489e3790159b25
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:16:08 2022 -0400

    chore(flutter): remove unused imports

commit c9625858e840df6082506ae9374f1d2710053cbd
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:15:44 2022 -0400

    test(flutter): CountdownButton tests

commit d770474bb11ee8b36a3b0e18db31695fd812a6b3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:11:37 2022 -0400

    test(flutter): CommandButton tests

commit 95e63706d1dd971373d39d471894a38bb2a634f2
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:07:43 2022 -0400

    test(flutter): ClearInputItem tests

commit 4156586945c91408cb7943b6c57c2ae560a2857c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:03:59 2022 -0400

    test(flutter): AttachmentButton tests

commit bba042806326999aabf338636c6e33900de86160
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 13:00:42 2022 -0400

    test(flutter): golden test for SendButton

commit e2cd0f00b9eeb8d81399f6316edb298234de12dc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:52 2022 -0400

    chore(flutter): deal with lints

commit b4e045f9cbd54c4d42c3f30acfe72d5f8ccf9d82
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:00 2022 -0400

    test(flutter): SendButton test

commit 4e3d5db0bddb97e508fcdda2e7272fe31e70808f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:38:21 2022 -0400

    test(flutter): KeyboardShortcutRunner tests

commit 0dfd7a0bd6fd6bc76902e87f62ac29da0b01bac6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:17:30 2022 -0400

    test(flutter): UploadProgressIndicator

commit ec50c8aea716bdc19e4308e367c8331211c61ea3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:47:53 2022 -0400

    test(flutter): SendingIndicator tests

commit e87bd1450fb5bfb713a867c7e831968f76428848
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:32:35 2022 -0400

    test(flutter): more gallery tests

commit 93d46ca649277fe6d289a70f0bdd23584fd0ab94
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:17:29 2022 -0400

    test(flutter): remove bad mock

commit c7b03a39f0f3ca7a334dfb908f3473b5e4deab38
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 10:45:45 2022 -0400

    chore(flutter): minor refactor

commit 33aeb7b5ed398287cb930f3b4702f47a82fce2c6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:49:07 2022 -0400

    test(flutter): MessageDialog tests

commit 220b3ae591e135d9606254666e04d4771945d0ae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:42:51 2022 -0400

    test(flutter): DeleteMessageDialog tests

commit db508478bb96749971f563de87b6c2a49e1e4e57
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:46:41 2022 -0400

    test(flutter): ConfirmationDialog tests

commit e8172dad6bfe18f40b65554ef2c6c16d7437cb56
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:35:50 2022 -0400

    test(flutter): ChannelInfoDialog test

commit 04c21458a601af3c3f4a5fc5ce9e8b61493c208c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:57:02 2022 -0400

    test(flutter): DownloadMenuItem tests

commit afee1dace543e2fef8543f9b035f684b2ee00f3b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:53:21 2022 -0400

    test(flutter): StreamChatContextMenuItem tests

commit 4616b1a973d0cf5224b5a71914c9908339c8462a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:02:07 2022 -0400

    test(flutter): golden test for ErrorAlertSheet

commit 22fb8241ae333f57ade8e8550f87695929836b2b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:59:01 2022 -0400

    test(flutter): golden test for EditMessageSheet

commit 0be79964827f344ba66e99cb9e5bd3d627aed01d
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:56:08 2022 -0400

    test(flutter): golden test for AttachmentModalSheet

commit 0ae842a98143478885bc211c788353c8bca57b40
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:53:26 2022 -0400

    test(flutter): GroupAvatar tests

commit 697d294c6c7e1bba1d9089a53d5c60d8609ea64e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:30:25 2022 -0400

    test(flutter): UserAvatar tests

commit c03ba4124068c83d3a49c4db00ca18a659801c23
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 11:04:55 2022 -0400

    test(flutter): ErrorAlertSheet test

commit 3414f28530b0e22614b83af20361f21dd4967fae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:45:37 2022 -0400

    test(flutter): EditMessageSheet test

commit b2962b641dfbf14c11d3da7f80a4be27f9980d90
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:37:18 2022 -0400

    test(flutter): AttachmentModalSheet test

    test(flutter): AttachmentModalSheet test

    chore(flutter): update exports

commit 7d7e278692c65dea84e7ef3b2d3c1311ebb28408
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:52:29 2022 -0400

    test(flutter): more organization

commit 4479b649835acc62d8a0553f9505a0af8077abfc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:33:06 2022 -0400

    test(flutter): tweak AttachmentHandler tests

commit b4a41106567e3c08105ce8dc272b1ebf40b3b0bb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:24:00 2022 -0400

    chore(flutter): streamline attachment handling

    * MobileAttachmentHandler for streamlining related code for mobile
    * Break out DesktopAttachmentHandler into its own file
    * Update minSdk version in Android runner

commit bfb06d31b79cd941d8b611c7e89e2d7728a394cb
Merge: a44b3b39 15c83d0
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 13:00:27 2022 -0400

    Merge branch 'desk_web_dev' into tests

commit a44b3b390adc25a00d1597bb1460973e8555fa9e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:59:14 2022 -0400

    chore(flutter): start cleaning up test dir

commit de104a3491d942d12f72dd66152b62c6e8b10a5b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:56:48 2022 -0400

    test(flutter): VideoAttachment test

commit 4748a1c081a3272f7fdbdeb69c501344e221e01e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:52:30 2022 -0400

    test(flutter): UrlAttachment test

commit 54408ef70f07c60adf8350553fdf3173e5edd7c7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:48:24 2022 -0400

    test(flutter): ImageGroup test

commit 811cff069e490c6bd03be0c0ac2f5ec86fb990e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:46:04 2022 -0400

    test(flutter): ImageAttachment test

commit a72677976c6524e76793432b0520e99cac4e7a62
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:34:06 2022 -0400

    test(flutter): GiphyAttachment test

commit 32ddac022e2c149726b4b6607f41850d556055b8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:28:01 2022 -0400

    test(flutter): FileAttachment test

commit 6534958cab775be1fb9bda56e67caa4746aa1502
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:14:25 2022 -0400

    test(flutter): AttachmentError test

commit 718a83c10c4e883ce01c9c002ced24de671d30b9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:06:43 2022 -0400

    test(flutter): AttachmentUploadStateBuilder test

commit a05108c460e36b2e425e4ec06f8bf408b0c20e97
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:44:34 2022 -0400

    chore(flutter): minor cleanup

commit 6e73038ac3714a2bd96f8c587af7f743bf2b2023
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:23 2022 -0400

    test(flutter): AttachmentTitle test

commit c6ee52ec951877feef31dc1427eec3bfc2bd8fcb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:11 2022 -0400

    test(flutter): minor cleanup

commit 09845cd845aa8c546043f4ae04805a8e6f53f61c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:42:52 2022 -0400

    chore(flutter): improve device segmentation & vlc init check

commit 172e6b25a064b5147b7641f29ebff3c920156f70
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 10:37:43 2022 -0400

    test(flutter): attachment_handler tests

commit 5f5a91c70cd7c069f39518f1f50bb74ab484c7e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:27 2022 -0400

    test(flutter): test PlatformWidgetBuilder & DesktopWidgetBuilder

commit 5a457b7557cb4127b74ee022389a24e5e9150601
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:05 2022 -0400

    chore(flutter): make base platform widgets testable

    Also fix environment check in stream_chat.dart

commit 88fb16018103c581236aeebd978e705b223b2243
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:59:19 2022 -0400

    chore(flutter): add readme to conditional_parent_widget library

commit e9307f8a6a5639d59358c245f033f9d9b209fe20
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:54:54 2022 -0400

    test(flutter): ConditionalParentBuilder tests

* chore(flutter): add thumblr dependency

* chore(flutter): fix typos

* chore(flutter): properly order super calls

* feat(flutter) video thumbnails on desktop

* chore(flutter): fix incorrect file name

* chore(flutter): fix docs for generateVideoThumbnail

* chore(flutter): remove incorrect comment

* chore(flutter): run flutter format

* chore(flutter): ignore lint

* chore(flutter): flutter format

* chore(flutter): fix tests

* fix(flutter): fix MessageListView bug caused by rebase

* chore(flutter): migrate desktop stuff to v4/stream_message_input.dart

* chore(flutter): migrate over desktop changes for message replies

* chore(flutter): fix message replies on desktop

* chore(flutter): address lints

* chore(flutter): update dart_vlc

* chore(flutter): melos clean & update photo_view

* fix(ui): port #1118

* fix(ui): use attachmentButtonBuilder

* fix(ui): fix file attachment

* format

* fix(ui): fix message bottom row

* chore(flutter sample): use modern window look

* chore(flutter): pass userAvatarBuilder through to MessageWidgetContent

Also pass onUserAvatarTap & userAvatarBuilder through to UserAvatarTransform

* chore: fix MessageWidget menu actions

* fix(flutter): fix "enter" sending empty messages in StreamMessageInput

* fix(flutter): fix Giphys not loading in quoted messages

* chore(flutter): update thumblr

* feat(flutter): keyboard navigation for gallery items

* fix(ui): fix double date divider

* fix(ui): add scroll to bottom back

* fix(ui): use mouse region

* fix(ui): remove backbutton in desktop example

* fix(ui): rename full screen media widget

* feat(flutter): elevation prop for gallery header

* chore(flutter): update dart_vlc

* fix(flutter): fix "show in chat" showing when it shouldn't

* fix(flutter): fix "show in chat" for mobile

* docs(flutter): minor doc update

* chore(flutter): add onMessageSwiped in example app

* chore(flutter): pass usernameBuilder through to BottomRow

* fix(flutter): hacky fix for chonky link previews

* fix(flutter): fix chonky text messages

* feat(flutter): press "esc" to close gallery

Also refactors KeyboardShortcutRunner API

* chore(flutter): fix innaccurate name

* fix(ui): fix attachment + long text sizing

* add key to channelpage

* fix(ui): better example

* fix format

* fix example

* chore(flutter): revert modern window look

* improvement(flutter): improve `GalleryNavigationItem`

* Make buttons more visible
* Spacing from the sides of the screen

* fix video thumbnail

* fix split view

* fix(ui): fix giphy in thread

* feat(flutter): desktop message reactions

commit 4b880ecb6d4dcbf315a7d41d863174817a9c530a
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Thu Jun 9 12:25:21 2022 -0400

    fix(flutter): fixes for desktop reactions

    * Fix reactions for reverse messages
    * Ensure reactions near the edges of MessageListView show properly

commit f511513
Author: Salvatore Giordano <salvatoregiordanoo@gmail.com>
Date:   Thu Jun 9 16:43:03 2022 +0200

    fix(ui): fix DesktopReactionBuilder and Portal

commit c488564
Merge: 2b710a2 72b34c2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Wed Jun 8 14:12:44 2022 -0400

    Merge branch 'desk_web_dev' into desktop_reactions

commit 2b710a2
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:19:12 2022 -0400

    chore(flutter): add debug props

commit e24dabc
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:00:03 2022 -0400

    feat(flutter): first pass at desktop reactions popup on mouse hover

* fix(flutter): potential fix for #1199

* fix(flutter): fix non-reversed reactions placement

* refactor(flutter): extract bottom reaction, stacked reaction

with debug props

* fix(flutter): fixes for desktop reactions

* Fix bottom row being rendered above reaction buttons
* Fix padding issues related to avatars

* chore(flutter): add back lost changes from 2b1fb6a

Also removed commented code

* chore(flutter): stacked reactions update

* Show "You" if userId matches the reaction username (per design)
* Ensure long names don't throw off alignment

* chore(flutter): format

* fix(ui): fix mime type generation

* chore(flutter): tweak desktop video

* chore(flutter): add some missing things from develop

* merge develop

* fix merge

* fix merge

* format

* fix tests

* increate test action timeout

* remove test

* refactor(ui,core): remove deprecated code and cleanup

* run builder

* update coverage threasholds

* refactor(ui): remove arrow function from countdown button

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* update comment

* fix(ui): fix attachment + link solution

* fix(ui): fix attachment + link solution

* chore(flutter) update changelog and version

* chore(localizations): update changelog and versions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* fix example

* fix deps

* fix(ui): fix enter sending the message while in slowmode

* fix(ui): fix reaction list

* fix web

* fix(ui): fix image download when using assetUrl

* fix(ui): fix typo in changelog

* fix(ui): fix gallery navigation

* fix(ui): fix giphy sending size

* fix(ui): add keyboard shorcuts to gallery view

* fix(ui): fix gallery footer

* fix(core): allow scroll notification bubbling in lazy load scroll view

* fix(ui): fix lazy load scroll view

* fix(ui): fix loading to unread position

* fix(ui): fix last message preview

* chore(ui): update changelog

* fix tests

* fix(llc): fix connecting while connecting and disconneting (#1237)

* fix(llc): fix connecting while connecting and disconneting

* chore(llc): update changelog

* chore(llc): add test

* chore(llc): improve test

* fix(llc): _resetRequestFlags regardless of the connection status

* feat(llc): add support for AttachmentFileUploaderProvider. (#1246)

* feat(llc): add support for `AttachmentFileUploaderProvider`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Remove deprecated attachmentFileUploader field.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* port no localization

* fix(ui): fix jiffy locale initialization (#1255)

* fix(ui): fix jiffy locale initialization

* chore(ui): update changelog

* fix(ui): cleanup

* chore(llc,core,ui,persistence,localizations): align changelog

* chore(llc,core,ui,persistence,localizations): add links to 4.x changelogs

* fix(ui): fix date divider not showing (#1259)

* fix(ui): fix date divider not showing

* chore(ui): update changelog

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix separator

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* chore(ui): add contextmenu requirements for web (#1261)

* fix unread separator

* feat(ui): `StreamChatConfiguration` class (#1128)

* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* feat(ui, core): add StreamAutocomplete (#1263)

* feat(ui, core): add stream_autocomplete.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(core, ui): refactor message input controller

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): minor fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add StreamAutocompleteOptions widget

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* Update packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

* fix(ui): cleanup

* chore(core, ui): cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): ignore no empty block

* chore(ui): more cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix command button for bigger screens, other fixes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* fix(ui): increase default file limit to 100MB (#1279)

* fix(ui): increase default file limit to 100MB

* Update packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart

* fix(ui): export kDefaultMaxAttachmentSize and use it in `StreamAttachmentPicker` default

* feat(ui): show dialog after clicking on the camera button and permission is denied (#1262)

* feat(ui): show dialog after clicking on the camera button and permission is denied

* chore(ui): update changelog

* Remove permission_handler plugin and refactor

* cleanup

* cleanup

* add tests

* fix(ui): reset the permission state on resume

* cleanup

* fix concurrent calls

* fix(ui): cleanup

* fix(ui): add try catch

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes (#1285)

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes

* fix(llc): do not save failed messages with attachments on web

* fix(llc): replace every with any

* chore(llc): add test

* fix analysis

* fix analysis

* chore(llc,core,ui,persistence): align changelog with v4

* fix(ui): do not linkify system message mentions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec (#1289)

* chore(ui): update deps

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(ui): publish beta.2

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController (#1291)

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController

* chore(core,ui): update changelog

* fix(ui): fix exports

* chore(ui): add tests

* chore(ui): add StreamMemberGridTile typedef

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* fix(ui): do not send empty message

* refactor(ui,localization): removed emoji picker and connected (#1292)

* refactor(ui,localization): removed emoji picker and connected

* chore(ui,localizations): update changelog

* chore(repo): update ui coverage threashold

* doc(ui): add autocomplete_triggers guide

* chore(ui): add tests for isOnlyEmoji

* chore(ui): add tests for isOnlyEmoji

* feat(ui): add `StreamAutocompleteTrigger.triggerOnlyAfterSpace`

* fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): flutter format

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix `stopTyping` unhandled exceptions when network is off or spotty. (#1296)

* feat(llc, ui): Introduce `keyStrokeHandler` to properly handle keyStrokes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): add key_stroke_handler_test.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(core): only handle the channel list event if the state is success.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(llc): add `hide_history` flag in `channel.addMembers`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Convert positional argument to optional arguments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): update tests

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* perf: improve image resizing

* fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): Added `thumbnailSize`, `thumbnailResizeType`, and `thumbnailCropType` params to `StreamMessageWidget` and `StreamAttachmentPicker` to customize the appearance of image thumbnails.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* Release v4.5.0 (#1308)

* chore(llc, ui, core): bump version to v4.5.0

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui, core): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* third party video integration

* fix llc

* refactor: clean up and add docs

* chore(llc): update changelog

* chore(llc): add tests

* chore(llc): add more tests

* fix analysis

* chore(llc): add more tests

* chore(llc): add more tests

* fix(llc): only start listening to event once connected.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): move files to correct folders.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): Fix message text hiding because of a flutter bug (#1327)

* fix(ui): remove clip

* chore(ui): update changelog

* cleanup

* fix(ui): hitting "enter" on the android keyboard sends the message instead of going to a new line.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add support for additional text field params in message input.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* remove print

* chore(llc,core,ui): update pubspec and changelogs (#1333)

* fix(ui): show placeholder for web video thumbs

* fix file download on web

* fix reply and show buttons

* remove tests

* treat svg as files

* fix(ui): change default image resize to clip

* solve some todos

* polish v5 fixing analysis issues

* feat(ui): stream attachment picker bottom sheet (#1336)

* refactor(ui): improve stream_attachment_handler.dart, add stream_attachment_picker_bottom_sheet.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add copyWith in command_button.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): remove permission_manager.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): some fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): fix lints, add doc comments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update melos and flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* remove todo

* update changelog

* update changelogs

* revert

* update coverage threasholds

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: GroovinChip <groovinchip@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sacha Arbonel <sacha.arbonel@hotmail.fr>
(cherry picked from commit 4f25422)

# Conflicts:
#	.github/workflows/dart_code_metrics.yaml
#	.github/workflows/stream_flutter_workflow.yml
#	analysis_options.yaml
#	docusaurus/docs/Flutter/guides/adding_push_notifications_v2.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications_v2.mdx
#	melos.yaml
#	packages/stream_chat/CHANGELOG.md
#	packages/stream_chat/lib/src/client/channel.dart
#	packages/stream_chat/lib/src/client/client.dart
#	packages/stream_chat/lib/src/client/key_stroke_handler.dart
#	packages/stream_chat/lib/src/core/api/stream_chat_api.dart
#	packages/stream_chat/lib/src/core/models/channel_model.dart
#	packages/stream_chat/lib/src/core/models/member.dart
#	packages/stream_chat/lib/src/core/models/member.g.dart
#	packages/stream_chat/lib/src/core/models/user.dart
#	packages/stream_chat/lib/stream_chat.dart
#	packages/stream_chat/lib/version.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/CHANGELOG.md
#	packages/stream_chat_flutter/example/android/app/build.gradle
#	packages/stream_chat_flutter/example/lib/main.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_1.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_4.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_5.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_6.dart
#	packages/stream_chat_flutter/example/pubspec.yaml
#	packages/stream_chat_flutter/lib/src/attachment/attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/stream_attachment_package.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/avatars/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/back_button.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/commands_overlay.dart
#	packages/stream_chat_flutter/lib/src/emoji_overlay.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/indicators/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_action.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/message_input/tld.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_search_item.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/misc/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/misc/date_divider.dart
#	packages/stream_chat_flutter/lib/src/misc/info_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart
#	packages/stream_chat_flutter/lib/src/misc/system_message.dart
#	packages/stream_chat_flutter/lib/src/misc/thread_header.dart
#	packages/stream_chat_flutter/lib/src/misc/visible_footnote.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_indexed_widget_builder.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/stream_chat.dart
#	packages/stream_chat_flutter/lib/src/stream_neumorphic_button.dart
#	packages/stream_chat_flutter/lib/src/stream_svg_icon.dart
#	packages/stream_chat_flutter/lib/src/theme/avatar_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/color_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/stream_chat_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/text_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/user/user_item.dart
#	packages/stream_chat_flutter/lib/src/user/user_mention_tile.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/utils/helpers.dart
#	packages/stream_chat_flutter/lib/src/video/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/video_service.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/attachment/file_attachment_test.dart
#	packages/stream_chat_flutter/test/src/attachment_actions_modal/attachment_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_header_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_image_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_name_test.dart
#	packages/stream_chat_flutter/test/src/image_footer_test.dart
#	packages/stream_chat_flutter/test/src/message_actions_modal/message_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/message_list_view/message_list_view_test.dart
#	packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart
#	packages/stream_chat_flutter/test/src/misc/date_divider_test.dart
#	packages/stream_chat_flutter/test/src/misc/info_tile_test.dart
#	packages/stream_chat_flutter/test/src/theme/channel_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/message_search_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/user_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/test_utils/golden.dart
#	packages/stream_chat_flutter_core/CHANGELOG.md
#	packages/stream_chat_flutter_core/example/lib/main.dart
#	packages/stream_chat_flutter_core/example/pubspec.yaml
#	packages/stream_chat_flutter_core/example/windows/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter_core/lib/src/channel_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/channels_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_notifier.freezed.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/user_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/users_bloc.dart
#	packages/stream_chat_flutter_core/lib/stream_chat_flutter_core.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_flutter_core/test/channel_list_core_test.dart
#	packages/stream_chat_flutter_core/test/channels_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_list_core_test.dart
#	packages/stream_chat_flutter_core/test/user_list_core_test.dart
#	packages/stream_chat_flutter_core/test/users_bloc_test.dart
#	packages/stream_chat_localizations/CHANGELOG.md
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/example/lib/main.dart
#	packages/stream_chat_localizations/example/lib/override_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_no.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_localizations/pubspec.yaml
#	packages/stream_chat_persistence/CHANGELOG.md
#	packages/stream_chat_persistence/example/android/app/build.gradle
#	packages/stream_chat_persistence/example/android/app/src/main/AndroidManifest.xml
#	packages/stream_chat_persistence/example/android/build.gradle
#	packages/stream_chat_persistence/example/lib/main.dart
#	packages/stream_chat_persistence/example/pubspec.yaml
#	packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart
#	packages/stream_chat_persistence/lib/src/db/shared/native_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/web_db.dart
#	packages/stream_chat_persistence/lib/src/entity/members.dart
#	packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart
#	packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart
#	packages/stream_chat_persistence/pubspec.yaml
kanat pushed a commit that referenced this issue May 1, 2023
(cherry picked from commit 04ca2c6eebaf5be6d5da4c73041ce13d95fb14cb)

# Conflicts:
#	packages/stream_chat_flutter/lib/src/message_list_view.dart

fix(ui): fix quoted message scroll

cherry-picked from 89f76788

fix(ui): fix positioned list view null check

cherry-picked from 26393402

fix(ui): add `MessageListView.ScrollViewKeyboardDismissBehavior`

(cherry picked from commit 361b5e730318ee11ff9ca70642b5acb6917f2d1e)

# Conflicts:
#	packages/stream_chat_flutter/lib/src/message_list_view.dart

remove unneeded import

(cherry picked from commit 1b08145bbfdba800a2574e9f5d51842c70a9495c)

chore(repo): add lints, update freezed, json_serializable

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit 069f380f418770711d459e6b5bfd830f80cc98c6)

# Conflicts:
#	analysis_options.yaml
#	packages/stream_chat/lib/src/core/models/attachment_file.freezed.dart
#	packages/stream_chat/lib/src/core/models/event.dart
#	packages/stream_chat/lib/src/core/models/own_user.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/date_divider.dart
#	packages/stream_chat_flutter/lib/src/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/info_tile.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/system_message.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/thread_header.dart
#	packages/stream_chat_flutter/lib/src/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/user_item.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/user_mentions_overlay.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/countdown_button.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_attachment_picker.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/v4/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/v4/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/visible_footnote.dart
#	packages/stream_chat_flutter/test/src/gradient_avatar_test.dart
#	packages/stream_chat_flutter_core/lib/src/message_text_field_controller.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_scroll_view.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_search_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_user_list_controller.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_persistence/lib/src/dao/channel_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/member_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/read_dao.dart
#	packages/stream_chat_persistence/lib/src/dao/user_dao.dart

V5 (#1222)

* chore(flutter): change BoxFit of VLC player

* chore(flutter): remove unused imports

* chore(flutter sample): tweak breakpoints, ignore some lints

* chore(flutter): minor code readability improvements

* chore(flutter): extract out platform_widget_builder to its own "package"

* fix(flutter): fix a theme bug with PlatformDialog

* chore(persistence): test plugin on macOS

* Generated the macos runner for the example
* Re-generated the android runner because it was using the v1 embedding

* chore(persistence): test plugin on web

* chore(persistence): add Windows runner to example

* chore(persistence): add linux runner to example

* feat(flutter): branded context menus

* chore(flutter): fix bug where lines would be shown in between menu items

* chore(flutter): import/export fixes

* chore(flutter): move file

* chore(flutter): /src/channel

Also refactors several /channel widgets to use class widgets instead of methods. Some methods, however, have been left as those cases do actually produce cleaner code.

chore(flutter): fix bad directory placement

chore(flutter): fix bad directory placement

* chore(flutter): more directory organization

* chore(flutter): navigator improvements

* chore(flutter): void async improvements

* chore(flutter): fix imports/exports

* docs(flutter): documentation updates for /attachment

* docs(flutter): doc updates

For:
* /avatars
* /bottom_sheets
* /channel

* feat(flutter): selectable message text on web & desktop

* Squashed commit of the following:

commit 50b249edb6b2ee2d744e4e00e97f81979026aab4
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:55:05 2022 -0400

    chore(flutter): wrapping up docs

commit 7d289ae45e20c0109bcdb4496f7b693e2adc4ef9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:42:09 2022 -0400

    chore(flutter): more docs & typedefs

commit 6b36f6f3864f15b52e441d58ee7e62577ff8f843
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 14:22:34 2022 -0400

    chore(flutter): more doc fixes

commit 1a9a6de3c836e9ee5d6373033f1d9a7da830bddc
Merge: 59188f5d 88abf99f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 13:17:52 2022 -0400

    Merge branch 'desk_web_dev' into utils

commit 59188f5d9c1dd68edd531086cdfd9d42faf93fc8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:48:16 2022 -0400

    chore(flutter): add todo

commit 9b4a986ca5757f284677eb5335637d11ccb1d642
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:43:12 2022 -0400

    chore(flutter): more docs and typedefs updates

commit 8786d2dd82b94f673b36371fb2b33a1ebcc9840a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 12:14:14 2022 -0400

    chore(flutter): more typedef and doc template updates

commit 9e906beb0e7a054c13a32c8c8c5b0e2a9e27bb21
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 16 10:46:04 2022 -0400

    chore(flutter): create /uitils and move files

    Fixes subsequent imports/exports

* chore(flutter): update file_selector plugin

* chore(flutter): include utils/typedefs.dart in library export

* Squashed commit of the following:

commit 501228afa614b0d740858dec1ebedd3f671e2c96
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 16:18:12 2022 -0400

    feat(flutter): ensure fullscreen media feature works on ALL platforms

commit cd0aab92bc7d90af03258829a5aae66125578af5
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Mar 17 14:26:48 2022 -0400

    feat(flutter): working conditional import for initializing VLC

* fix(flutter): remove stray import causing web to break

* chore(flutter): ensure context menus can show on web in sample

* feat(flutter) FullScreenMedia context menus for Web

* feat(flutter): branded context menus

* chore(flutter): no success dialog on file download (web)

* chore(flutter): remove platform UI packages

* chore(flutter): properly show/hide delete message menu item

Also deletes deprecated PlatformDialog

* feat(flutter): 'view info' channel preview context menu

* feat(flutter): more menu actions for ChannelPreview

Also new ConfirmationDialog and add missing docs

* feat(flutter/localizations): translations related to channel mutes

* chore(flutter): remove prints and fix super.didChangeDependencies order

* chore(flutter): rename some things in ChannelBottomSheet

* chore(flutter): more sensible name in TypingIndicator

* chore(flutter): remove unused code in MessageWidget

* feat(flutter): ChannelInfoDialog

* chore(flutter): organize files more

Also refactors out some internal MessageListView widgets

* fix(flutter): fix render overflow issue

* chore(flutter): move MediaListView

* chore(flutter): remove unused imports

* fix(flutter): fix weird share menu placement on macos

* chore(flutter): clean up fullscreenmedia conditional imports

* chore(flutter): adjust package exports

* chore(flutter): update dart_vlc

* chore(flutter): clean up platform checks

* chore(flutter): run flutter format on lib

* chore(flutter): minor sample cleanup

* chore(flutter): ensure vlc doesn't get initialized in non-desktop testing environments

* test(flutter): reformat existing tests

* fix(flutter): pass onThreadReplyTap down to ThreadReplyButton

* First round of new tests

commit a90bed427521123fdaa4c5e276744a224fac2b68
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:34:19 2022 -0400

    test(flutter): Username test

commit d7bc179c20eae2713c9248191518bf1d955104a9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:30:47 2022 -0400

    chore(flutter): remove unused imports

commit 09c9517de2917dc5ccd7de019b50a7875386991c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:29:58 2022 -0400

    test(flutter): ThreadSeparator test

commit 9422d1129211aaaac9a51ca4d29fe94bde06593c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 12:19:43 2022 -0400

    chore(flutter): rename LoadingIndicator parameter

commit 63af943a1a16e78a1e0377d76176420bd7e1fbc7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Thu Apr 7 11:47:46 2022 -0400

    test(flutter): FloatingDateDivider test

commit d8e67cf6fca2b76ac091a9047104c0910d5fdfef
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 15:19:39 2022 -0400

    test(flutter): InputAttachment tests

commit d2b7d5dd3304c8be6f74bf5b0281d7a95dd027ec
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:41:40 2022 -0400

    test(flutter): DmCheckbox tests

commit 01567f235a2f00880bb530b232489e3790159b25
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:16:08 2022 -0400

    chore(flutter): remove unused imports

commit c9625858e840df6082506ae9374f1d2710053cbd
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:15:44 2022 -0400

    test(flutter): CountdownButton tests

commit d770474bb11ee8b36a3b0e18db31695fd812a6b3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:11:37 2022 -0400

    test(flutter): CommandButton tests

commit 95e63706d1dd971373d39d471894a38bb2a634f2
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:07:43 2022 -0400

    test(flutter): ClearInputItem tests

commit 4156586945c91408cb7943b6c57c2ae560a2857c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 14:03:59 2022 -0400

    test(flutter): AttachmentButton tests

commit bba042806326999aabf338636c6e33900de86160
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 13:00:42 2022 -0400

    test(flutter): golden test for SendButton

commit e2cd0f00b9eeb8d81399f6316edb298234de12dc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:52 2022 -0400

    chore(flutter): deal with lints

commit b4e045f9cbd54c4d42c3f30acfe72d5f8ccf9d82
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:56:00 2022 -0400

    test(flutter): SendButton test

commit 4e3d5db0bddb97e508fcdda2e7272fe31e70808f
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:38:21 2022 -0400

    test(flutter): KeyboardShortcutRunner tests

commit 0dfd7a0bd6fd6bc76902e87f62ac29da0b01bac6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 12:17:30 2022 -0400

    test(flutter): UploadProgressIndicator

commit ec50c8aea716bdc19e4308e367c8331211c61ea3
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:47:53 2022 -0400

    test(flutter): SendingIndicator tests

commit e87bd1450fb5bfb713a867c7e831968f76428848
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:32:35 2022 -0400

    test(flutter): more gallery tests

commit 93d46ca649277fe6d289a70f0bdd23584fd0ab94
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 11:17:29 2022 -0400

    test(flutter): remove bad mock

commit c7b03a39f0f3ca7a334dfb908f3473b5e4deab38
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 10:45:45 2022 -0400

    chore(flutter): minor refactor

commit 33aeb7b5ed398287cb930f3b4702f47a82fce2c6
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:49:07 2022 -0400

    test(flutter): MessageDialog tests

commit 220b3ae591e135d9606254666e04d4771945d0ae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Tue Mar 29 09:42:51 2022 -0400

    test(flutter): DeleteMessageDialog tests

commit db508478bb96749971f563de87b6c2a49e1e4e57
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:46:41 2022 -0400

    test(flutter): ConfirmationDialog tests

commit e8172dad6bfe18f40b65554ef2c6c16d7437cb56
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 14:35:50 2022 -0400

    test(flutter): ChannelInfoDialog test

commit 04c21458a601af3c3f4a5fc5ce9e8b61493c208c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:57:02 2022 -0400

    test(flutter): DownloadMenuItem tests

commit afee1dace543e2fef8543f9b035f684b2ee00f3b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:53:21 2022 -0400

    test(flutter): StreamChatContextMenuItem tests

commit 4616b1a973d0cf5224b5a71914c9908339c8462a
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 13:02:07 2022 -0400

    test(flutter): golden test for ErrorAlertSheet

commit 22fb8241ae333f57ade8e8550f87695929836b2b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:59:01 2022 -0400

    test(flutter): golden test for EditMessageSheet

commit 0be79964827f344ba66e99cb9e5bd3d627aed01d
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:56:08 2022 -0400

    test(flutter): golden test for AttachmentModalSheet

commit 0ae842a98143478885bc211c788353c8bca57b40
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:53:26 2022 -0400

    test(flutter): GroupAvatar tests

commit 697d294c6c7e1bba1d9089a53d5c60d8609ea64e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 12:30:25 2022 -0400

    test(flutter): UserAvatar tests

commit c03ba4124068c83d3a49c4db00ca18a659801c23
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 11:04:55 2022 -0400

    test(flutter): ErrorAlertSheet test

commit 3414f28530b0e22614b83af20361f21dd4967fae
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:45:37 2022 -0400

    test(flutter): EditMessageSheet test

commit b2962b641dfbf14c11d3da7f80a4be27f9980d90
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 10:37:18 2022 -0400

    test(flutter): AttachmentModalSheet test

    test(flutter): AttachmentModalSheet test

    chore(flutter): update exports

commit 7d7e278692c65dea84e7ef3b2d3c1311ebb28408
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:52:29 2022 -0400

    test(flutter): more organization

commit 4479b649835acc62d8a0553f9505a0af8077abfc
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:33:06 2022 -0400

    test(flutter): tweak AttachmentHandler tests

commit b4a41106567e3c08105ce8dc272b1ebf40b3b0bb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Mon Mar 28 09:24:00 2022 -0400

    chore(flutter): streamline attachment handling

    * MobileAttachmentHandler for streamlining related code for mobile
    * Break out DesktopAttachmentHandler into its own file
    * Update minSdk version in Android runner

commit bfb06d31b79cd941d8b611c7e89e2d7728a394cb
Merge: a44b3b39 15c83d03
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 13:00:27 2022 -0400

    Merge branch 'desk_web_dev' into tests

commit a44b3b390adc25a00d1597bb1460973e8555fa9e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:59:14 2022 -0400

    chore(flutter): start cleaning up test dir

commit de104a3491d942d12f72dd66152b62c6e8b10a5b
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:56:48 2022 -0400

    test(flutter): VideoAttachment test

commit 4748a1c081a3272f7fdbdeb69c501344e221e01e
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:52:30 2022 -0400

    test(flutter): UrlAttachment test

commit 54408ef70f07c60adf8350553fdf3173e5edd7c7
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:48:24 2022 -0400

    test(flutter): ImageGroup test

commit 811cff069e490c6bd03be0c0ac2f5ec86fb990e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:46:04 2022 -0400

    test(flutter): ImageAttachment test

commit a72677976c6524e76793432b0520e99cac4e7a62
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:34:06 2022 -0400

    test(flutter): GiphyAttachment test

commit 32ddac022e2c149726b4b6607f41850d556055b8
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:28:01 2022 -0400

    test(flutter): FileAttachment test

commit 6534958cab775be1fb9bda56e67caa4746aa1502
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:14:25 2022 -0400

    test(flutter): AttachmentError test

commit 718a83c10c4e883ce01c9c002ced24de671d30b9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 12:06:43 2022 -0400

    test(flutter): AttachmentUploadStateBuilder test

commit a05108c460e36b2e425e4ec06f8bf408b0c20e97
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:44:34 2022 -0400

    chore(flutter): minor cleanup

commit 6e73038ac3714a2bd96f8c587af7f743bf2b2023
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:23 2022 -0400

    test(flutter): AttachmentTitle test

commit c6ee52ec951877feef31dc1427eec3bfc2bd8fcb
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:43:11 2022 -0400

    test(flutter): minor cleanup

commit 09845cd845aa8c546043f4ae04805a8e6f53f61c
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 11:42:52 2022 -0400

    chore(flutter): improve device segmentation & vlc init check

commit 172e6b25a064b5147b7641f29ebff3c920156f70
Author: GroovinChip <groovinchip@gmail.com>
Date:   Fri Mar 25 10:37:43 2022 -0400

    test(flutter): attachment_handler tests

commit 5f5a91c70cd7c069f39518f1f50bb74ab484c7e9
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:27 2022 -0400

    test(flutter): test PlatformWidgetBuilder & DesktopWidgetBuilder

commit 5a457b7557cb4127b74ee022389a24e5e9150601
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 13:55:05 2022 -0400

    chore(flutter): make base platform widgets testable

    Also fix environment check in stream_chat.dart

commit 88fb16018103c581236aeebd978e705b223b2243
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:59:19 2022 -0400

    chore(flutter): add readme to conditional_parent_widget library

commit e9307f8a6a5639d59358c245f033f9d9b209fe20
Author: GroovinChip <groovinchip@gmail.com>
Date:   Wed Mar 23 11:54:54 2022 -0400

    test(flutter): ConditionalParentBuilder tests

* chore(flutter): add thumblr dependency

* chore(flutter): fix typos

* chore(flutter): properly order super calls

* feat(flutter) video thumbnails on desktop

* chore(flutter): fix incorrect file name

* chore(flutter): fix docs for generateVideoThumbnail

* chore(flutter): remove incorrect comment

* chore(flutter): run flutter format

* chore(flutter): ignore lint

* chore(flutter): flutter format

* chore(flutter): fix tests

* fix(flutter): fix MessageListView bug caused by rebase

* chore(flutter): migrate desktop stuff to v4/stream_message_input.dart

* chore(flutter): migrate over desktop changes for message replies

* chore(flutter): fix message replies on desktop

* chore(flutter): address lints

* chore(flutter): update dart_vlc

* chore(flutter): melos clean & update photo_view

* fix(ui): port #1118

* fix(ui): use attachmentButtonBuilder

* fix(ui): fix file attachment

* format

* fix(ui): fix message bottom row

* chore(flutter sample): use modern window look

* chore(flutter): pass userAvatarBuilder through to MessageWidgetContent

Also pass onUserAvatarTap & userAvatarBuilder through to UserAvatarTransform

* chore: fix MessageWidget menu actions

* fix(flutter): fix "enter" sending empty messages in StreamMessageInput

* fix(flutter): fix Giphys not loading in quoted messages

* chore(flutter): update thumblr

* feat(flutter): keyboard navigation for gallery items

* fix(ui): fix double date divider

* fix(ui): add scroll to bottom back

* fix(ui): use mouse region

* fix(ui): remove backbutton in desktop example

* fix(ui): rename full screen media widget

* feat(flutter): elevation prop for gallery header

* chore(flutter): update dart_vlc

* fix(flutter): fix "show in chat" showing when it shouldn't

* fix(flutter): fix "show in chat" for mobile

* docs(flutter): minor doc update

* chore(flutter): add onMessageSwiped in example app

* chore(flutter): pass usernameBuilder through to BottomRow

* fix(flutter): hacky fix for chonky link previews

* fix(flutter): fix chonky text messages

* feat(flutter): press "esc" to close gallery

Also refactors KeyboardShortcutRunner API

* chore(flutter): fix innaccurate name

* fix(ui): fix attachment + long text sizing

* add key to channelpage

* fix(ui): better example

* fix format

* fix example

* chore(flutter): revert modern window look

* improvement(flutter): improve `GalleryNavigationItem`

* Make buttons more visible
* Spacing from the sides of the screen

* fix video thumbnail

* fix split view

* fix(ui): fix giphy in thread

* feat(flutter): desktop message reactions

commit 4b880ecb6d4dcbf315a7d41d863174817a9c530a
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Thu Jun 9 12:25:21 2022 -0400

    fix(flutter): fixes for desktop reactions

    * Fix reactions for reverse messages
    * Ensure reactions near the edges of MessageListView show properly

commit f511513f8dbb272397e81d08bad33ee60108d738
Author: Salvatore Giordano <salvatoregiordanoo@gmail.com>
Date:   Thu Jun 9 16:43:03 2022 +0200

    fix(ui): fix DesktopReactionBuilder and Portal

commit c4885648330552f5212c5ba6b771c0f07023f6ae
Merge: 2b710a2b 72b34c21
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Wed Jun 8 14:12:44 2022 -0400

    Merge branch 'desk_web_dev' into desktop_reactions

commit 2b710a2bb610326123d5b7f75c26caa705114c9b
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:19:12 2022 -0400

    chore(flutter): add debug props

commit e24dabc1de12da8dce697b6d4e1a3617e9835549
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Mon Jun 6 12:00:03 2022 -0400

    feat(flutter): first pass at desktop reactions popup on mouse hover

* fix(flutter): potential fix for #1199

* fix(flutter): fix non-reversed reactions placement

* refactor(flutter): extract bottom reaction, stacked reaction

with debug props

* fix(flutter): fixes for desktop reactions

* Fix bottom row being rendered above reaction buttons
* Fix padding issues related to avatars

* chore(flutter): add back lost changes from 2b1fb6a

Also removed commented code

* chore(flutter): stacked reactions update

* Show "You" if userId matches the reaction username (per design)
* Ensure long names don't throw off alignment

* chore(flutter): format

* fix(ui): fix mime type generation

* chore(flutter): tweak desktop video

* chore(flutter): add some missing things from develop

* merge develop

* fix merge

* fix merge

* format

* fix tests

* increate test action timeout

* remove test

* refactor(ui,core): remove deprecated code and cleanup

* run builder

* update coverage threasholds

* refactor(ui): remove arrow function from countdown button

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* Update packages/stream_chat_flutter/lib/src/message_input/countdown_button.dart

* update comment

* fix(ui): fix attachment + link solution

* fix(ui): fix attachment + link solution

* chore(flutter) update changelog and version

* chore(localizations): update changelog and versions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* fix example

* fix deps

* fix(ui): fix enter sending the message while in slowmode

* fix(ui): fix reaction list

* fix web

* fix(ui): fix image download when using assetUrl

* fix(ui): fix typo in changelog

* fix(ui): fix gallery navigation

* fix(ui): fix giphy sending size

* fix(ui): add keyboard shorcuts to gallery view

* fix(ui): fix gallery footer

* fix(core): allow scroll notification bubbling in lazy load scroll view

* fix(ui): fix lazy load scroll view

* fix(ui): fix loading to unread position

* fix(ui): fix last message preview

* chore(ui): update changelog

* fix tests

* fix(llc): fix connecting while connecting and disconneting (#1237)

* fix(llc): fix connecting while connecting and disconneting

* chore(llc): update changelog

* chore(llc): add test

* chore(llc): improve test

* fix(llc): _resetRequestFlags regardless of the connection status

* feat(llc): add support for AttachmentFileUploaderProvider. (#1246)

* feat(llc): add support for `AttachmentFileUploaderProvider`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Remove deprecated attachmentFileUploader field.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* port no localization

* fix(ui): fix jiffy locale initialization (#1255)

* fix(ui): fix jiffy locale initialization

* chore(ui): update changelog

* fix(ui): cleanup

* chore(llc,core,ui,persistence,localizations): align changelog

* chore(llc,core,ui,persistence,localizations): add links to 4.x changelogs

* fix(ui): fix date divider not showing (#1259)

* fix(ui): fix date divider not showing

* chore(ui): update changelog

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix separator

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* chore(ui): add contextmenu requirements for web (#1261)

* fix unread separator

* feat(ui): `StreamChatConfiguration` class (#1128)

* feat: StreamChatConfiguration class

See #1125 for more details

* chore(flutter): update changelog

* fix analysis

* cleanup

* feat(ui): add enforceUniqueReactions to `StreamChatConfiguration` widget

* add tests

* refactor(ui): rename StreamChatConfigurationProvider and StreamChatConfiguration

* refactor(ui): rename StreamChat.config to streamChatConfigData

* refactor(ui): make enforceUniqueReactions non nullable

* chore(ui): fix analysis errors

* refactor(ui): make config fields non nullable

* chore(ui): format

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* feat(ui, core): add StreamAutocomplete (#1263)

* feat(ui, core): add stream_autocomplete.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(core, ui): refactor message input controller

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): minor fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add StreamAutocompleteOptions widget

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* Update packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

* fix(ui): cleanup

* chore(core, ui): cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): ignore no empty block

* chore(ui): more cleanup

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix command button for bigger screens, other fixes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* fix(ui): increase default file limit to 100MB (#1279)

* fix(ui): increase default file limit to 100MB

* Update packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart

* fix(ui): export kDefaultMaxAttachmentSize and use it in `StreamAttachmentPicker` default

* feat(ui): show dialog after clicking on the camera button and permission is denied (#1262)

* feat(ui): show dialog after clicking on the camera button and permission is denied

* chore(ui): update changelog

* Remove permission_handler plugin and refactor

* cleanup

* cleanup

* add tests

* fix(ui): reset the permission state on resume

* cleanup

* fix concurrent calls

* fix(ui): cleanup

* fix(ui): add try catch

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes (#1285)

* fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes

* fix(llc): do not save failed messages with attachments on web

* fix(llc): replace every with any

* chore(llc): add test

* fix analysis

* fix analysis

* chore(llc,core,ui,persistence): align changelog with v4

* fix(ui): do not linkify system message mentions

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec (#1289)

* chore(ui): update deps

* chore(llc,core,ui,persistence,localizations): update changelog and pubspec

* chore(ui): publish beta.2

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController (#1291)

* feat(core,ui): add StreamMemberListView, StreamMemberGridView, and StreamMemberListController

* chore(core,ui): update changelog

* fix(ui): fix exports

* chore(ui): add tests

* chore(ui): add StreamMemberGridTile typedef

* chore(ui): minor changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* fix(ui): do not send empty message

* refactor(ui,localization): removed emoji picker and connected (#1292)

* refactor(ui,localization): removed emoji picker and connected

* chore(ui,localizations): update changelog

* chore(repo): update ui coverage threashold

* doc(ui): add autocomplete_triggers guide

* chore(ui): add tests for isOnlyEmoji

* chore(ui): add tests for isOnlyEmoji

* feat(ui): add `StreamAutocompleteTrigger.triggerOnlyAfterSpace`

* fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): flutter format

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): fix `stopTyping` unhandled exceptions when network is off or spotty. (#1296)

* feat(llc, ui): Introduce `keyStrokeHandler` to properly handle keyStrokes.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): add key_stroke_handler_test.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(core): only handle the channel list event if the state is success.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(llc): add `hide_history` flag in `channel.addMembers`.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* refactor(llc): Convert positional argument to optional arguments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* test(llc): update tests

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* perf: improve image resizing

* fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): Added `thumbnailSize`, `thumbnailResizeType`, and `thumbnailCropType` params to `StreamMessageWidget` and `StreamAttachmentPicker` to customize the appearance of image thumbnails.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* Release v4.5.0 (#1308)

* chore(llc, ui, core): bump version to v4.5.0

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui, core): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* third party video integration

* fix llc

* refactor: clean up and add docs

* chore(llc): update changelog

* chore(llc): add tests

* chore(llc): add more tests

* fix analysis

* chore(llc): add more tests

* chore(llc): add more tests

* fix(llc): only start listening to event once connected.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): update CHANGELOG.md

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(llc): move files to correct folders.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): Fix message text hiding because of a flutter bug (#1327)

* fix(ui): remove clip

* chore(ui): update changelog

* cleanup

* fix(ui): hitting "enter" on the android keyboard sends the message instead of going to a new line.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add support for additional text field params in message input.

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix analysis

* remove print

* chore(llc,core,ui): update pubspec and changelogs (#1333)

* fix(ui): show placeholder for web video thumbs

* fix file download on web

* fix reply and show buttons

* remove tests

* treat svg as files

* fix(ui): change default image resize to clip

* solve some todos

* polish v5 fixing analysis issues

* feat(ui): stream attachment picker bottom sheet (#1336)

* refactor(ui): improve stream_attachment_handler.dart, add stream_attachment_picker_bottom_sheet.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* feat(ui): add copyWith in command_button.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): remove permission_manager.dart

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): some fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* fix(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): fix lints, add doc comments

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ui): more fixes

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* chore(ci): update melos and flutter version

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>

* remove todo

* update changelog

* update changelogs

* revert

* update coverage threasholds

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: GroovinChip <groovinchip@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sacha Arbonel <sacha.arbonel@hotmail.fr>
(cherry picked from commit 4f2542291c1090bbfa986b8816db53792dc14029)

# Conflicts:
#	.github/workflows/dart_code_metrics.yaml
#	.github/workflows/stream_flutter_workflow.yml
#	analysis_options.yaml
#	docusaurus/docs/Flutter/guides/adding_push_notifications_v2.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications.mdx
#	docusaurus/flutter_versioned_docs/version-3.x.x/Flutter/guides/adding_push_notifications_v2.mdx
#	melos.yaml
#	packages/stream_chat/CHANGELOG.md
#	packages/stream_chat/lib/src/client/channel.dart
#	packages/stream_chat/lib/src/client/client.dart
#	packages/stream_chat/lib/src/client/key_stroke_handler.dart
#	packages/stream_chat/lib/src/core/api/stream_chat_api.dart
#	packages/stream_chat/lib/src/core/models/channel_model.dart
#	packages/stream_chat/lib/src/core/models/member.dart
#	packages/stream_chat/lib/src/core/models/member.g.dart
#	packages/stream_chat/lib/src/core/models/user.dart
#	packages/stream_chat/lib/stream_chat.dart
#	packages/stream_chat/lib/version.dart
#	packages/stream_chat/pubspec.yaml
#	packages/stream_chat_flutter/CHANGELOG.md
#	packages/stream_chat_flutter/example/android/app/build.gradle
#	packages/stream_chat_flutter/example/lib/main.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_1.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_2.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_4.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_5.dart
#	packages/stream_chat_flutter/example/lib/tutorial_part_6.dart
#	packages/stream_chat_flutter/example/pubspec.yaml
#	packages/stream_chat_flutter/lib/src/attachment/attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_title.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/attachment_widget.dart
#	packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/stream_attachment_package.dart
#	packages/stream_chat_flutter/lib/src/attachment/url_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/avatars/gradient_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/group_avatar.dart
#	packages/stream_chat_flutter/lib/src/avatars/user_avatar.dart
#	packages/stream_chat_flutter/lib/src/back_button.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_avatar.dart
#	packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/commands_overlay.dart
#	packages/stream_chat_flutter/lib/src/emoji_overlay.dart
#	packages/stream_chat_flutter/lib/src/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart
#	packages/stream_chat_flutter/lib/src/image_group.dart
#	packages/stream_chat_flutter/lib/src/indicators/sending_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/unread_indicator.dart
#	packages/stream_chat_flutter/lib/src/indicators/upload_progress_indicator.dart
#	packages/stream_chat_flutter/lib/src/localization/translations.dart
#	packages/stream_chat_flutter/lib/src/media_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_action.dart
#	packages/stream_chat_flutter/lib/src/message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/simple_safe_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_send_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_text_field.dart
#	packages/stream_chat_flutter/lib/src/message_input/tld.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_search_item.dart
#	packages/stream_chat_flutter/lib/src/message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_bubble.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/misc/connection_status_builder.dart
#	packages/stream_chat_flutter/lib/src/misc/date_divider.dart
#	packages/stream_chat_flutter/lib/src/misc/info_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/option_list_tile.dart
#	packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart
#	packages/stream_chat_flutter/lib/src/misc/system_message.dart
#	packages/stream_chat_flutter/lib/src/misc/thread_header.dart
#	packages/stream_chat_flutter/lib/src/misc/visible_footnote.dart
#	packages/stream_chat_flutter/lib/src/overlays.dart
#	packages/stream_chat_flutter/lib/src/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_empty_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_indexed_widget_builder.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_error.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_indicator.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_loading_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/stream_chat.dart
#	packages/stream_chat_flutter/lib/src/stream_neumorphic_button.dart
#	packages/stream_chat_flutter/lib/src/stream_svg_icon.dart
#	packages/stream_chat_flutter/lib/src/theme/avatar_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/channel_preview_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/color_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_footer_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/gallery_header_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_search_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/message_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/stream_chat_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/text_theme.dart
#	packages/stream_chat_flutter/lib/src/theme/user_list_view_theme.dart
#	packages/stream_chat_flutter/lib/src/user/user_item.dart
#	packages/stream_chat_flutter/lib/src/user/user_mention_tile.dart
#	packages/stream_chat_flutter/lib/src/user_list_view.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/utils/helpers.dart
#	packages/stream_chat_flutter/lib/src/video/video_thumbnail_image.dart
#	packages/stream_chat_flutter/lib/src/video_service.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/attachment/file_attachment_test.dart
#	packages/stream_chat_flutter/test/src/attachment_actions_modal/attachment_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_header_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_image_test.dart
#	packages/stream_chat_flutter/test/src/channel/channel_name_test.dart
#	packages/stream_chat_flutter/test/src/image_footer_test.dart
#	packages/stream_chat_flutter/test/src/message_actions_modal/message_actions_modal_test.dart
#	packages/stream_chat_flutter/test/src/message_list_view/message_list_view_test.dart
#	packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart
#	packages/stream_chat_flutter/test/src/misc/date_divider_test.dart
#	packages/stream_chat_flutter/test/src/misc/info_tile_test.dart
#	packages/stream_chat_flutter/test/src/theme/channel_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/message_search_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/src/theme/user_list_view_theme_test.dart
#	packages/stream_chat_flutter/test/test_utils/golden.dart
#	packages/stream_chat_flutter_core/CHANGELOG.md
#	packages/stream_chat_flutter_core/example/lib/main.dart
#	packages/stream_chat_flutter_core/example/pubspec.yaml
#	packages/stream_chat_flutter_core/example/windows/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter_core/lib/src/channel_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/channels_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_bloc.dart
#	packages/stream_chat_flutter_core/lib/src/message_search_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/paged_value_notifier.freezed.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel.dart
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
#	packages/stream_chat_flutter_core/lib/src/stream_message_input_controller.dart
#	packages/stream_chat_flutter_core/lib/src/user_list_core.dart
#	packages/stream_chat_flutter_core/lib/src/users_bloc.dart
#	packages/stream_chat_flutter_core/lib/stream_chat_flutter_core.dart
#	packages/stream_chat_flutter_core/pubspec.yaml
#	packages/stream_chat_flutter_core/test/channel_list_core_test.dart
#	packages/stream_chat_flutter_core/test/channels_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_bloc_test.dart
#	packages/stream_chat_flutter_core/test/message_search_list_core_test.dart
#	packages/stream_chat_flutter_core/test/user_list_core_test.dart
#	packages/stream_chat_flutter_core/test/users_bloc_test.dart
#	packages/stream_chat_localizations/CHANGELOG.md
#	packages/stream_chat_localizations/example/lib/add_new_lang.dart
#	packages/stream_chat_localizations/example/lib/main.dart
#	packages/stream_chat_localizations/example/lib/override_lang.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_de.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_no.dart
#	packages/stream_chat_localizations/lib/src/stream_chat_localizations_pt.dart
#	packages/stream_chat_localizations/pubspec.yaml
#	packages/stream_chat_persistence/CHANGELOG.md
#	packages/stream_chat_persistence/example/android/app/build.gradle
#	packages/stream_chat_persistence/example/android/app/src/main/AndroidManifest.xml
#	packages/stream_chat_persistence/example/android/build.gradle
#	packages/stream_chat_persistence/example/lib/main.dart
#	packages/stream_chat_persistence/example/pubspec.yaml
#	packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart
#	packages/stream_chat_persistence/lib/src/db/shared/native_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart
#	packages/stream_chat_persistence/lib/src/db/shared/web_db.dart
#	packages/stream_chat_persistence/lib/src/entity/members.dart
#	packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart
#	packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart
#	packages/stream_chat_persistence/pubspec.yaml

docs: v5 (#1341)

* feat: version docs and add stream_member_list_controller docs

* feat: add member list and grid doc

* exported extensions on ui package

* feat: add first version of v5 migration guide

* docs: grammar fixes and other v5 release details

* docs: add additional v5 migration info

* update WrapAttachmentWidget doc

* add back v4 migration guide

* docs(doc): add customize_attachment_picker_modal.mdx guide. (#1343)

Signed-off-by: xsahil03x <xdsahil@gmail.com>

Signed-off-by: xsahil03x <xdsahil@gmail.com>

* update link for attachment picker guide

* update share_plus

Signed-off-by: xsahil03x <xdsahil@gmail.com>
Co-authored-by: Gordon Hayes <pggordonhayes@gmail.com>
Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
(cherry picked from commit 08295e52909019d009601319d089758e6c6ceab2)

# Conflicts:
#	docusaurus/docs/Flutter/guides/slidable_channel_list_preview.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter/stream_message_widget.mdx
#	docusaurus/docs/Flutter/stream_chat_flutter_core/stream_user_list_controller.mdx
#	docusaurus/flutter-docusaurus-dontent-docs.plugin.js
#	docusaurus/flutter_versions.json
#	packages/stream_chat_flutter/example/linux/flutter/generated_plugin_registrant.cc
#	packages/stream_chat_flutter/example/linux/flutter/generated_plugins.cmake
#	packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
#	packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment/handler/stream_attachment_handler_html.dart
#	packages/stream_chat_flutter/lib/src/attachment/handler/stream_attachment_handler_io.dart
#	packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
#	packages/stream_chat_flutter/lib/src/attachment_actions_modal/attachment_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/autocomplete/stream_command_autocomplete_options.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/attachment_modal_sheet.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/edit_message_sheet.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/error_alert_sheet.dart
#	packages/stream_chat_flutter/lib/src/bottom_sheets/stream_channel_info_bottom_sheet.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_info.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_name.dart
#	packages/stream_chat_flutter/lib/src/channel/channel_preview.dart
#	packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
#	packages/stream_chat_flutter/lib/src/channel_header.dart
#	packages/stream_chat_flutter/lib/src/channel_list_header.dart
#	packages/stream_chat_flutter/lib/src/channel_name.dart
#	packages/stream_chat_flutter/lib/src/context_menu_items/context_menu_reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/context_menu_items/download_menu_item.dart
#	packages/stream_chat_flutter/lib/src/date_divider.dart
#	packages/stream_chat_flutter/lib/src/deleted_message.dart
#	packages/stream_chat_flutter/lib/src/dialogs/confirmation_dialog.dart
#	packages/stream_chat_flutter/lib/src/dialogs/delete_message_dialog.dart
#	packages/stream_chat_flutter/lib/src/dialogs/message_dialog.dart
#	packages/stream_chat_flutter/lib/src/fullscreen_media/full_screen_media.dart
#	packages/stream_chat_flutter/lib/src/fullscreen_media/full_screen_media_desktop.dart
#	packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart
#	packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/copy_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/delete_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/edit_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/flag_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/message_actions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/pin_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/reply_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/resend_message_button.dart
#	packages/stream_chat_flutter/lib/src/message_actions_modal/thread_reply_button.dart
#	packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_image_picker.dart
#	packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_video_picker.dart
#	packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker.dart
#	packages/stream_chat_flutter/lib/src/message_input/dm_checkbox.dart
#	packages/stream_chat_flutter/lib/src/message_input/quoted_message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_input/quoting_message_top_area.dart
#	packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart
#	packages/stream_chat_flutter/lib/src/message_list_view.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/loading_indicator.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/thread_separator.dart
#	packages/stream_chat_flutter/lib/src/message_list_view/unread_messages_separator.dart
#	packages/stream_chat_flutter/lib/src/message_reactions_modal.dart
#	packages/stream_chat_flutter/lib/src/message_text.dart
#	packages/stream_chat_flutter/lib/src/message_widget/bottom_row.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_card.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart
#	packages/stream_chat_flutter/lib/src/message_widget/message_widget_content.dart
#	packages/stream_chat_flutter/lib/src/message_widget/parse_attachments.dart
#	packages/stream_chat_flutter/lib/src/message_widget/pinned_message.dart
#	packages/stream_chat_flutter/lib/src/message_widget/reactions/desktop_reactions_builder.dart
#	packages/stream_chat_flutter/lib/src/message_widget/sending_indicator_wrapper.dart
#	packages/stream_chat_flutter/lib/src/reaction_picker.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/member_scroll_view/stream_member_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/member_scroll_view/stream_member_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
#	packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
#	packages/stream_chat_flutter/lib/src/theme/message_input_theme.dart
#	packages/stream_chat_flutter/lib/src/thread_header.dart
#	packages/stream_chat_flutter/lib/src/user_item.dart
#	packages/stream_chat_flutter/lib/src/user_mentions_overlay.dart
#	packages/stream_chat_flutter/lib/src/utils.dart
#	packages/stream_chat_flutter/lib/src/utils/extensions.dart
#	packages/stream_chat_flutter/lib/src/visible_footnote.dart
#	packages/stream_chat_flutter/lib/stream_chat_flutter.dart
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter/test/src/dialogs/confirmation_dialog_test.dart
#	packages/stream_chat_flutter/test/src/extension_test.dart

fix(ui): remove unused member

(cherry picked from commit 7629eae3be3291980d09e057044a9f6fb1f1162f)

fix pana checks

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit 1c4fda8465c3f9b625bba1df2becf441f3fe1d15)

# Conflicts:
#	packages/stream_chat_flutter/pubspec.yaml
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart

revert some changes

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit a909261072ba3df157e9adab625fe56966564f95)

# Conflicts:
#	packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart

some more revert

Signed-off-by: xsahil03x <xdsahil@gmail.com>
(cherry picked from commit a1a4e55e75050e2bdd54a2217521780043d08c6f)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants