Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.

Overview

Official Flutter packages for Stream Chat

CI melos

Quick Links

This repository contains code for our Dart and Flutter chat clients.

Stream allows developers to rapidly deploy scalable feeds and chat messaging with an industry leading 99.999% uptime SLA guarantee.

Sample apps and demos

Our team maintains a dedicated repository for fully-fledged sample applications and demos. Consider checking out GetStream/flutter-samples to learn more or get started by looking at our latest Stream Chat demo.

Free for Makers

Stream is free for most side and hobby projects. To qualify your project/company needs to have < 5 team members and < $10k in monthly revenue. For complete pricing details visit our Chat Pricing Page

Structure

Stream Chat Dart is a monorepo built using Melos. Individual packages can be found in the packages directory while configuration and top level commands can be found in melos.yaml.

To get started, run bootstrap after cloning the project.

melos bootstrap

Packages

We provide a variety of packages depending on the level of customization you want to achieve.

stream_chat

A pure Dart package that can be used on any Dart project. It provides a low-level client to access the Stream Chat service.

stream_chat_persistence

This package provides a persistence client for fetching and saving chat data locally. Stream Chat Persistence uses Moor as a disk cache.

stream_chat_flutter_core

This package provides business logic to fetch common things required for integrating Stream Chat into your application. The core package allows more customisation and hence provides business logic but no UI components.

stream_chat_flutter

This library includes both a low-level chat SDK and a set of reusable and customizable UI components.

stream_chat_localizations

This library includes a set of localization files for the Flutter UI components.

Flutter Chat Tutorial

The best place to start is the Flutter Chat Tutorial. It teaches you how to use this SDK and also shows how to make frequently required changes.

Example Apps

Every package folder includes a fully functional example with setup instructions.

We also provide a set of sample apps created using the Stream Flutter SDK at this location.

Versioning Policy

All of the Stream Chat packages follow semantic versioning (semver).

See our versioning policy documentation for more information.

We are hiring

We've recently closed a $38 million Series B funding round and we keep actively growing. Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world.

Check out our current openings and apply via Stream's website.

Comments
  • fix(llc, persistence): enable pragma foreign_keys

    fix(llc, persistence): enable pragma foreign_keys

    Submit a pull request

    CLA

    • [x] I have signed the Stream CLA (required).
    • [x] The code changes follow best practices
    • [x] Code changes are tested (add some information if not applicable)

    Description of the pull request

    Closes #604

    opened by incendial 29
  • Stream failed to open Websocket, causing later calls to fail

    Stream failed to open Websocket, causing later calls to fail

    Describe the bug This is a bug that happened in production so all we have are stacktraces. The problem is that queryChannels failed, causing some things to get stuck. The deeper issue seems to be that Stream failed to set up its Websocket connection.

    Here's the Websocket error. I could pinpoint the line that triggered it on our part, it's an invocation of client.setUser.

    ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
    2021-04-20 17:51:15.920 11917-12113/? I/flutter: │ 🐛 Setting chat user wF6n9VTqeFbKVQGIaYaxloAGINH3 - Ruben
    2021-04-20 17:51:15.920 11917-12113/? I/flutter: └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    2021-04-20 17:51:17.161 11917-12113/? E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Null check operator used on a null value
        #0      ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:218)
        #1      ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:292)
        #2      WebSocket._onData (package:stream_chat/src/api/websocket.dart:167)
        #3      WebSocket.connect.<anonymous closure> (package:stream_chat/src/api/websocket.dart:132)
        #4      _rootRunUnary (dart:async/zone.dart:1198)
        #5      _CustomZone.runUnary (dart:async/zone.dart:1100)
        #6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
        #7      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357)
        #8      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285)
        #9      _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:127)
        #10     _HandleErrorStream._handleData (dart:async/stream_pipe.dart:266)
        #11     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:157)
        #12     _rootRunUnary (dart:async/zone.dart:1198)
        #13     _CustomZone.runUnary (dart:async/zone.dart:1100)
        #14     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
        #15     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357)
        #16     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285)
        #17     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808)
        #18     _StreamController._add (dart:async/stream_controller.dart:682)
        #19     _rootRunUnary (dart:async/zone.dart:1198)
        #20     _CustomZone.runUnary (dart:async/zone.dart:1100)
        #21     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
        #22     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357)
        #23     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285)
        #24     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808)
        #25     _StreamController._add (dart:async/stream_controller.dart:682)
        #26     _StreamController.add (dart:async/stream_controller.dart:624)
        #27     new _WebSocketImpl._fromSocket.<anonymous closure> (dart:_http/websocket_impl.dart:1145)
        #28     _rootRunUnary (dart:async/zone.dart:1198)
        #29     _CustomZone.runUnary (dart:async/zone.dart:1100)
        #30     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
        #31     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357)
        #32     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285)
        #33     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:69)
        #34     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15)
        #35     _WebSocketProtocolTransformer._messageFrameEnd (dart:_http/websocket_impl.dart:338)
        #36     _WebSocketProtocolTransformer.add (dart:_http/websocket_impl.dart:232)
        #37     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:121)
        #38     _rootRunUnary (dart:async/zone.dart:1198)
        #39     _CustomZone.runUnary (dart:async/zone.dart:1100)
        #40     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
        #41     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357)
        #42     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285)
        #43     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808)
        #44     _StreamController._add (dart:async/stream_controller.dart:682)
        #45     _StreamController.add (dart:async/stream_controller.dart:624)
        #46     _Socket._onData (dart:io-patch/socket_patch.dart:2044)
        #47     _rootRunUnary (dart:async/zone.dart:1198)
        #48     _CustomZone.runUnary (dart:async/zone.dart:1100)
        #49     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
        #50     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357)
        #51     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285)
        #52     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808)
        #53     _StreamController._add (dart:async/stream_controller.dart:682)
    2021-04-20 17:51:17.161 11917-12113/? E/flutter: #54     _StreamController.add (dart:async/stream_controller.dart:624)
        #55     _RawSecureSocket._sendReadEvent (dart:io/secure_socket.dart:1002)
        #56     _rootRun (dart:async/zone.dart:1182)
        #57     _CustomZone.run (dart:async/zone.dart:1093)
        #58     _CustomZone.runGuarded (dart:async/zone.dart:997)
        #59     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037)
        #60     _rootRun (dart:async/zone.dart:1190)
        #61     _CustomZone.run (dart:async/zone.dart:1093)
        #62     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1021)
        #63     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18)
        #64     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397)
        #65     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428)
        #66     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168)
    

    What package are you using? What version? stream_flutter 0.2.10

    What platform is it about?

    • [x] Android
    • [ ] iOS
    • [ ] Web
    • [ ] Windows
    • [ ] MacOS
    • [ ] Linux

    To Reproduce Steps to reproduce the behavior: 0. Open app through a notification (Firebase display message) (this might be relevant, as perhaps the environment isn't fully the same on start-up or something)

    1. client.setUser(...)
    2. It doesn't always happen

    Expected behavior For Stream to create the Websocket successfully, or at least to keep trying.

    Full Stacktrace

    ``` 2021-04-20 17:51:15.920 11917-12113/? I/flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:51:15.920 11917-12113/? I/flutter: │ 17:51:15.920 (+0:02:09.088596) 2021-04-20 17:51:15.920 11917-12113/? I/flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 2021-04-20 17:51:15.920 11917-12113/? I/flutter: │ 💡 Authenticated with Stream Chat. Setting up now... 2021-04-20 17:51:15.920 11917-12113/? I/flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:51:15.920 11917-12113/? I/flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:51:15.920 11917-12113/? I/flutter: │ 17:51:15.920 (+0:02:09.088770) 2021-04-20 17:51:15.920 11917-12113/? I/flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 2021-04-20 17:51:15.920 11917-12113/? I/flutter: │ 🐛 Setting chat user wF6n9VTqeFbKVQGIaYaxloAGINH3 - Ruben 2021-04-20 17:51:15.920 11917-12113/? I/flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:51:17.161 11917-12113/? E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Null check operator used on a null value #0 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:218) #1 ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:292) #2 WebSocket._onData (package:stream_chat/src/api/websocket.dart:167) #3 WebSocket.connect. (package:stream_chat/src/api/websocket.dart:132) #4 _rootRunUnary (dart:async/zone.dart:1198) #5 _CustomZone.runUnary (dart:async/zone.dart:1100) #6 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005) #7 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357) #8 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285) #9 _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:127) #10 _HandleErrorStream._handleData (dart:async/stream_pipe.dart:266) #11 _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:157) #12 _rootRunUnary (dart:async/zone.dart:1198) #13 _CustomZone.runUnary (dart:async/zone.dart:1100) #14 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005) #15 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357) #16 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285) #17 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808) #18 _StreamController._add (dart:async/stream_controller.dart:682) #19 _rootRunUnary (dart:async/zone.dart:1198) #20 _CustomZone.runUnary (dart:async/zone.dart:1100) #21 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005) #22 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357) #23 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285) #24 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808) #25 _StreamController._add (dart:async/stream_controller.dart:682) #26 _StreamController.add (dart:async/stream_controller.dart:624) #27 new _WebSocketImpl._fromSocket. (dart:_http/websocket_impl.dart:1145) #28 _rootRunUnary (dart:async/zone.dart:1198) #29 _CustomZone.runUnary (dart:async/zone.dart:1100) #30 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005) #31 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357) #32 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285) #33 _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:69) #34 _EventSinkWrapper.add (dart:async/stream_transformers.dart:15) #35 _WebSocketProtocolTransformer._messageFrameEnd (dart:_http/websocket_impl.dart:338) #36 _WebSocketProtocolTransformer.add (dart:_http/websocket_impl.dart:232) #37 _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:121) #38 _rootRunUnary (dart:async/zone.dart:1198) #39 _CustomZone.runUnary (dart:async/zone.dart:1100) #40 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005) #41 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357) #42 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285) #43 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808) #44 _StreamController._add (dart:async/stream_controller.dart:682) #45 _StreamController.add (dart:async/stream_controller.dart:624) #46 _Socket._onData (dart:io-patch/socket_patch.dart:2044) #47 _rootRunUnary (dart:async/zone.dart:1198) #48 _CustomZone.runUnary (dart:async/zone.dart:1100) #49 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005) #50 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357) #51 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285) #52 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808) #53 _StreamController._add (dart:async/stream_controller.dart:682) 2021-04-20 17:51:17.161 11917-12113/? E/flutter: #54 _StreamController.add (dart:async/stream_controller.dart:624) #55 _RawSecureSocket._sendReadEvent (dart:io/secure_socket.dart:1002) #56 _rootRun (dart:async/zone.dart:1182) #57 _CustomZone.run (dart:async/zone.dart:1093) #58 _CustomZone.runGuarded (dart:async/zone.dart:997) #59 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037) #60 _rootRun (dart:async/zone.dart:1190) #61 _CustomZone.run (dart:async/zone.dart:1093) #62 _CustomZone.bindCallback. (dart:async/zone.dart:1021) #63 Timer._createTimer. (dart:async-patch/timer_patch.dart:18) #64 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397) #65 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428) #66 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168) 2021-04-20 17:56:14.701 11917-12113/? I/flutter: on resume {notification: {}, data: {google.original_priority: high, google.sent_time: 1618937629441, google.delivered_priority: high, sound: default, channel: {"id":"OaNxaeJC8PgNpxCG7n9oUKoFax32","type":"lessgo-team","cid":"lessgo-team:OaNxaeJC8PgNpxCG7n9oUKoFax32"}, screen: /channel, click_action: FLUTTER_NOTIFICATION_CLICK, google.message_id: 0:1618937629467992%0117a48c0117a48c, collapse_key: co.lessgo.lessgo, google.ttl: 2419200, from: 297352398976, channelId: lessgo-team:OaNxaeJC8PgNpxCG7n9oUKoFax32, status: done}} 2021-04-20 17:56:14.702 11917-12113/? I/flutter: false - false - false 2021-04-20 17:56:14.702 11917-12113/? I/flutter: Want to nav? true 2021-04-20 17:56:14.702 11917-12113/? I/flutter: false - false - false 2021-04-20 17:56:14.702 11917-12113/? I/flutter: Logged in and got a display message - routing now 2021-04-20 17:56:14.702 11917-12113/? I/flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:56:14.702 11917-12113/? I/flutter: │ 17:56:14.702 (+0:07:07.870854) 2021-04-20 17:56:14.702 11917-12113/? I/flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 2021-04-20 17:56:14.702 11917-12113/? I/flutter: │ 💡 Navigating display msg -> /channel with {google.original_priority: high, google.sent_time: 1618937629441, google.delivered_priority: high, sound: default, channel: {"id":"OaNxaeJC8PgNpxCG7n9oUKoFax32","type":"lessgo-team","cid":"lessgo-team:OaNxaeJC8PgNpxCG7n9oUKoFax32"}, screen: /channel, click_action: FLUTTER_NOTIFICATION_CLICK, google.message_id: 0:1618937629467992%0117a48c0117a48c, collapse_key: co.lessgo.lessgo, google.ttl: 2419200, from: 297352398976, channelId: lessgo-team:OaNxaeJC8PgNpxCG7n9oUKoFax32, status: done} 2021-04-20 17:56:14.702 11917-12113/? I/flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:56:14.703 11917-12113/? I/flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:56:14.703 11917-12113/? I/flutter: │ 17:56:14.703 (+0:07:07.871539) 2021-04-20 17:56:14.703 11917-12113/? I/flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 2021-04-20 17:56:14.703 11917-12113/? I/flutter: │ 🐛 Creating route arguments for '/channel' 2021-04-20 17:56:14.703 11917-12113/? I/flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2021-04-20 17:56:14.703 11917-12113/? I/flutter: /channel 2021-04-20 17:56:15.244 11917-12113/? I/flutter: (2021-04-20 17:56:15.244562) 🚨 📡 apiError: ApiError{body: {"code":4,"message":"QueryChannels failed with error: \"Watch or Presence requires an active websocket connection, please make sure to include your websocket connection_id\"","StatusCode":400,"duration":"0.00ms","more_info":"https://getstream.io/chat/docs/api_errors_response"}, jsonData: {code: 4, message: QueryChannels failed with error: "Watch or Presence requires an active websocket connection, please make sure to include your websocket connection_id", StatusCode: 400, duration: 0.00ms, more_info: https://getstream.io/chat/docs/api_errors_response}, status: 400, code: 4} 2021-04-20 17:56:15.245 11917-12113/? E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: ApiError{body: {"code":4,"message":"QueryChannels failed with error: \"Watch or Presence requires an active websocket connection, please make sure to include your websocket connection_id\"","StatusCode":400,"duration":"0.00ms","more_info":"https://getstream.io/chat/docs/api_errors_response"}, jsonData: {code: 4, message: QueryChannels failed with error: "Watch or Presence requires an active websocket connection, please make sure to include your websocket connection_id", StatusCode: 400, duration: 0.00ms, more_info: https://getstream.io/chat/docs/api_errors_response}, status: 400, code: 4} #0 Client.get (package:stream_chat/src/client.dart:666) #1 Client.queryChannels (package:stream_chat/src/client.dart:583) #2 Stream.first. (dart:async/stream.dart) ```

    Additional context If this can't be resolved because it's some odd fluke and it might happen from time to time, we still want to be able to deal with it. Would it be possible to document/explain which calls are expected to throw, and what we can catch? For example, if setUser is expected to throw, we most definitely want to catch it and put some retry logic around it, if indeed it's retryable.

    bug 
    opened by rubenvereecken 29
  • AttachmentFileUploader Providing More Information

    AttachmentFileUploader Providing More Information

    Please select which package this feature is related to

    stream_chat, stream_chat_flutter, stream_chat_flutter_core

    Which platforms would this feature impact?

    iOS, Android, Web, Windows, MacOS, Linux

    Is your feature request related to a problem?

    As it stands currently we don't have an option when using the attachmentFileUploader to get the information on the person sending the file.

    Describe the solution that you'd like

    To include the user object with the send functions and the delete functions? I am using Appwrite as the backend and have the files set with user-level rules and not hard-coded rules.

    Describe alternatives that you have considered

    Tried to do this manually. Will not work.

    Additional context

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    enhancement 
    opened by rlee1990 26
  • Allow floating dateDivider to be above the messages

    Allow floating dateDivider to be above the messages

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    Android

    What version are you using?

    latest

    What happened?

    the custom floating date overlaps and blends with the messages

    Steps to reproduce

    Use custom divider text
    

    Supporting info to reproduce

    image

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    Code of Conduct

    • [X] #889
    bug enhancement 
    opened by duzenko 23
  • Thread Reply Issue

    Thread Reply Issue

    When we customize the MessageWidget we lose the default setup for threads and replies which we should still get unless we provide our own function or choose not to allow them. I think it would be better to have a bool to show the options of threads and replies and if true keep the default function unless a custom one is provided.

    bug 
    opened by rlee1990 23
  • Cannot connect on stream_chat_flutter: ^2.0.0-nullsafety.8

    Cannot connect on stream_chat_flutter: ^2.0.0-nullsafety.8

    Describe the bug I receive an error after call connectUser(User user, String token)

    What package are you using? What version? stream_chat_flutter: ^2.0.0-nullsafety.8

    What platform is it about?

    • [x] Android
    • [x] iOS
    • [ ] Web
    • [ ] Windows
    • [ ] MacOS
    • [ ] Linux

    To Reproduce Steps to reproduce the behaviour:

    1. connectUser(User user, String token)
    2. See error flutter: WebSocketError(message: You've called connect twice, can only attempt 1 connection at the time, )

    Expected behaviour Should connect to getstream

    Screenshots If applicable, add screenshots to help explain your problem.

    **Logs ** #0 WebSocket.connect (package:stream_chat/src/ws/websocket.dart:175:7) #1 StreamChatClient.openConnection (package:stream_chat/src/client/client.dart:330:24) #2 StreamChatCoreState._onForeground (package:stream_chat_flutter_core/src/stream_chat_core.dart:178:14) #3 StreamChatCoreState.didChangeAppLifecycleState (package:stream_chat_flutter_core/src/stream_chat_core.dart:165:9) #4 WidgetsBinding.handleAppLifecycleStateChanged (package:flutter/src/widgets/binding.dart:692:16) #5 ServicesBinding._handleLifecycleMessage (package:flutter/src/services/binding.dart:192:5) #6 BasicMessageChannel.setMessageHandler. (package:flutter/src/services/platform_channel.dart:73:49) #7 BasicMessageChannel.setMessageHandler. (package:flutter/src/services/platform_channel.dart:72:47) #8 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:284:33) #9 _invoke3. (dart:ui/hooks.dart:223:15) #10 _rootRun (dart:async/zone.dart:1354:13) #11 _CustomZone.run (dart:async/zone.dart:1258:19) #12 _CustomZone.runGuarded (dart:async/zone.dart:1162:7) #13 _invoke3 (dart:ui/hooks.dart:222:10) #14 PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:520:7) #15 _dispatchPlatformMessage (dart:ui/hooks.dart:90:31)

    Paste the output of running flutter doctor -v here.

    [✓] Flutter (Channel stable, 2.2.2, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-UA) • Flutter version 2.2.2 at /Users/user/flutter • Framework revision d79295af24 (4 weeks ago), 2021-06-11 08:56:01 -0700 • Engine revision 91c9fc8fe0 • Dart version 2.13.3

    [!] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /Users/user/Library/Android/sdk • Platform android-30, build-tools 30.0.2 • ANDROID_HOME = /Users/user/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264) ✗ Android license status unknown. Run flutter doctor --android-licenses to accept the SDK licenses. See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

    [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.3, Build version 12C33 • CocoaPods version 1.10.1

    [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

    [✓] Android Studio (version 4.2) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

    [✓] VS Code (version 1.49.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.16.0

    [✓] Connected device (2 available) • iPhone 8 (mobile) • 36DDD3C7-8191-46B9-BC88-6FC909DEA1F5 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator) • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114

    Additional context Add any other context about the problem here.

    bug waiting for customer response 
    opened by TramPamPam 20
  • upgrading persistence - lost data

    upgrading persistence - lost data

    hi, already had this behaviour before. i upgraded yesterday chat + persistence plugin. on first launch, some of my messages have lost their user (user == null)

    is it because i upgrade persistence plugin ? i reinstall app to be sure => same behaviour.

    i run some nodejs script to get messages, and evzrything is fine.

    is it possible to reset local database to wipe out data and start fresh ?

    ios last version of pubspec

    thank you, Nelson

    opened by Abacaxi-Nelson 18
  • video_compress package kotlin gradle version error

    video_compress package kotlin gradle version error

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    Android

    What version are you using?

    stream_chat_flutter - v3.5.0

    What happened?

    Error:The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.40 and higher. The following dependencies do not satisfy the required version: project ':video_compress' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.31

    Steps to reproduce

    When the project is run
    

    Supporting info to reproduce

    No response

    Relevant log output

    FAILURE: Build failed with an exception.
    
    * What went wrong:
    The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.40 and higher.
    The following dependencies do not satisfy the required version:
    project ':video_compress' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.31
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 1m 5s
    Exception: Gradle task assembleDebug failed with exit code 1
    

    Flutter analyze output

    No response

    Flutter doctor output

    [✓] Flutter (Channel stable, 2.10.2, on macOS 12.1 21C52 darwin-arm, locale
        en-TR)
        • Flutter version 2.10.2 at /Users/mertguven/tools/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 097d3313d8 (11 days ago), 2022-02-18 19:33:08 -0600
        • Engine revision a83ed0e5e3
        • Dart version 2.16.1
        • DevTools version 2.9.2
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
        • Android SDK at /Users/mertguven/Library/Android/sdk
        • Platform android-32, build-tools 31.0.0
        • Java binary at: /Applications/Android
          Studio.app/Contents/jre/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • CocoaPods version 1.10.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2020.3)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    
    [✓] VS Code (version 1.64.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.36.0
    
    [✓] Connected device (2 available)
        • SM N9200 (mobile) • 0815f81af6851f02 • android-arm64  • Android 7.0 (API
          24)
        • Chrome (web)      • chrome           • web-javascript • Google Chrome
          98.0.4758.109
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    • No issues found!
    

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug 
    opened by mertguven 16
  • StreamChannel() Doesn't Show Loading Screen

    StreamChannel() Doesn't Show Loading Screen

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    Android

    What version are you using?

    2.2.1

    What happened?

    Loading up widgets that contain StreamChannel() initially (after restart of app or Hot Restart) takes a long time (4-6 seconds) and it doesn't show a loading bar even with showLoading: true.

    Steps to reproduce

    1. Set up a ChannelListView with channelPreviewBuilder that have a ontap function that calls StreamChannel()
    2. Fire up the app for the first time and tap on the widget that builds StreamChannel()
    

    Supporting info to reproduce

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug waiting for customer response 
    opened by mingzew 16
  • Keyboard covering input field on Huawei Mate 20pro

    Keyboard covering input field on Huawei Mate 20pro

    Describe the bug

    https://user-images.githubusercontent.com/25682164/127627708-09c66741-584d-4e22-b767-628cc4876f0e.mp4

    What package are you using? What version? 2.0.0-nullsafety.8

    What platform is it about?

    • [x] Android
    • [ ] iOS
    • [ ] Web
    • [ ] Windows
    • [ ] MacOS
    • [ ] Linux

    To Reproduce Steps to reproduce the behavior:

    Test on Huawei Mate 20pro.

    Expected behavior Keyboard not to hide input field while typing.

    Additional context We are having this issue only on this particular device.

    opened by jasnicaa 16
  • Channel List is not updated if a message is received in a newly created channel

    Channel List is not updated if a message is received in a newly created channel

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    iOS, Android, Web

    What version are you using?

    4.1.0

    What happened?

    When a message is received in a newly created channel, the channel list is not updated immediately, I have to manually refresh the page for the new channel to reflect in the channel list. I'm using PagedValueListenableBuilder along with StreamChannelListController

    Steps to reproduce

    1. Open the chat application using multiple users in different browsers such that they have never sent any message to each other
    2. Try sending the message from User A to User B by creating a new channel
    3. The channel list at User B's end won't get updated immediately.
    

    Supporting info to reproduce

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    opened by Ayush-gupta-josh 15
  • fix: Trim whitespaces of a message before rendering it

    fix: Trim whitespaces of a message before rendering it

    CLA

    • [x] I have signed the Stream CLA (required).
    • [x] The code changes follow best practices
    • [x] Code changes are tested (add some information if not applicable)

    Description of the pull request

    By some reason the MarkdownBody widget is rendering "4+ whitespace" at the beginning of the message as a "code block" style. To fix it we are trimming the message before rendering it.

    | Before | After | | --- | --- | | Screenshot from 2023-01-04 09-27-27 | Screenshot from 2023-01-04 09-27-05 |

    Fix #1424

    opened by JcMinarro 1
  • Unable To Load Asset Error

    Unable To Load Asset Error

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    iOS, Android

    What version are you using?

    5.2.0

    What happened?

    I receive the below error when selecting the attachment icon:

    The following assertion was thrown resolving a single-frame picture stream:
    Unable to load asset: packages/stream_chat_flutter/lib/svgs/video_call_icon.svg
    
    When the exception was thrown, this was the stack
    #0      PlatformAssetBundle.load
    package:flutter/…/services/asset_bundle.dart:258
    <asynchronous suspension>
    #1      AssetBundle.loadString
    package:flutter/…/services/asset_bundle.dart:83
    <asynchronous suspension>
    #2      AssetBundlePictureProvider._loadAsync
    package:flutter_svg/src/picture_provider.dart:546
    <asynchronous suspension>
    Picture provider: ExactAssetPicture(name: "packages/stream_chat_flutter/lib/svgs/video_call_icon.svg", bundle: null, colorFilter: null)
    Picture key: AssetBundlePictureKey(bundle: PlatformAssetBundle#c8fa5(), name: "packages/stream_chat_flutter/lib/svgs/video_call_icon.svg", colorFilter: null, theme: SvgTheme(currentColor: Color(0xff000000), fontSize: 14.0, xHeight: 7.0))
    

    Steps to reproduce

    Open a new chat.
    Select the attachment button when it tries to load the assets the error comes up.
    

    Supporting info to reproduce

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    [✓] Flutter (Channel stable, 3.3.10, on macOS 13.0.1 22A400 darwin-arm, locale en-US)
        • Flutter version 3.3.10 on channel stable at /Users/rickeylee/Desktop/dev/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 135454af32 (3 weeks ago), 2022-12-15 07:36:55 -0800
        • Engine revision 3316dd8728
        • Dart version 2.18.6
        • DevTools version 2.15.0
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc1)
        • Android SDK at /Users/rickeylee/Library/Android/sdk
        • Platform android-33, build-tools 33.0.0-rc1
        • ANDROID_HOME = /Users/rickeylee/Library/Android/sdk
        • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 14.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 14B47b
        • CocoaPods version 1.11.3
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2021.3)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    
    [✓] VS Code (version 1.74.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.56.0
    
    [✓] Connected device (4 available)
        • SM F926U (mobile)            • RFCR802EMHY                              • android-arm64  • Android 13 (API 33)
        • rickey lee’s iPhone (mobile) • d0545eb2ff26e1c087d1b29c26f8e15da19284bb • ios            • iOS 16.0 20A362
        • macOS (desktop)              • macos                                    • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm
        • Chrome (web)                 • chrome                                   • web-javascript • Google Chrome 108.0.5359.124
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    • No issues found!
    

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug 
    opened by rlee1990 0
  • Using StreamChatConfigurationData per Channel

    Using StreamChatConfigurationData per Channel

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    iOS, Android, Web, Windows, MacOS, Linux

    What version are you using?

    5.2.0

    What happened?

    Right now I do not see a way to use StreamChatConfigurationData to make changes per channel. I only see that this can be set Globally if this isn't true can we get an example? If not can this be changed to support this?

    Steps to reproduce

    n/a
    

    Supporting info to reproduce

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug 
    opened by rlee1990 1
  • drift dependency of stream-chat-persistence is too old

    drift dependency of stream-chat-persistence is too old

    Which packages are you using?

    stream_chat_persistance

    On what platforms did you experience the issue?

    Linux

    What version are you using?

    5.1.0

    What happened?

    I have to use the most recent drift (2.4.0) in the project but stream_chat_persistence depends on 1.5.0, causing dependency resolution errors.

    Steps to reproduce

    add the following dependencies to your pubspec.yaml
    
    dependencies:
     drift: ^2.4.0
     stream_chat_persistence: ^5.1.0
    
    Then run flutter pub get:
     
    Because stream_chat_persistence 5.1.0 depends on drift ^1.5.0 and no versions of stream_chat_persistence match >5.1.0 <6.0.0, stream_chat_persistence ^5.1.0 requires drift ^1.5.0.
    

    Supporting info to reproduce

    No response

    Relevant log output

    Because stream_chat_persistence 5.1.0 depends on drift ^1.5.0 and no versions of stream_chat_persistence match >5.1.0 <6.0.0, stream_chat_persistence ^5.1.0 requires drift ^1.5.0.
    

    Flutter analyze output

    No response

    Flutter doctor output

    [✓] Flutter (Channel stable, 3.3.10, on Fedora Linux 36 (Thirty Six) 5.15.81-1.fc32.qubes.x86_64, locale C.UTF-8)
        • Flutter version 3.3.10 on channel stable at /home/user/flutter
        • Upstream repository [email protected]:flutter/flutter.git
        • Framework revision 135454af32 (3 weeks ago), 2022-12-15 07:36:55 -0800
        • Engine revision 3316dd8728
        • Dart version 2.18.6
        • DevTools version 2.15.0
    
    [!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
        • Android SDK at /home/user/Android/Sdk
        • Platform android-33, build-tools 33.0.0
        • Java binary at: /home/user/Android/android-studio/jre/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
        ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
    
    [✓] Chrome - develop for the web
        • Chrome at google-chrome
    
    [✓] Linux toolchain - develop for Linux desktop
        • clang version 14.0.5 (Fedora 14.0.5-2.fc36)
        • cmake version 3.25.1
        • ninja version 1.10.2
        • pkg-config version 1.8.0
    
    [✓] Android Studio (version 2021.2)
        • Android Studio at /home/user/Android/android-studio
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    
    [✓] Android Studio
        • Android Studio at /home/user/android-studio
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    
    [✓] VS Code (version 1.74.2)
        • VS Code at /usr/share/code
        • Flutter extension version 3.56.0
    
    [✓] Connected device (2 available)
        • Linux (desktop) • linux  • linux-x64      • Fedora Linux 36 (Thirty Six) 5.15.81-1.fc32.qubes.x86_64
        • Chrome (web)    • chrome • web-javascript • Google Chrome 108.0.5359.124
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug 
    opened by mcku 0
  • White box is rendered in the message bubble instead of a message

    White box is rendered in the message bubble instead of a message

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    iOS, Android

    What version are you using?

    5.2.0

    What happened?

    White box is rendered in the message bubble instead of the message

    Steps to reproduce

    1. Go to any chat screen
    2. Enter more than 3 spaces before you type any other character
    3. Send the message
    4. The message bubble will be filled with a white rectangle instead of your message
    ...
    

    Supporting info to reproduce

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug 
    opened by matthewfx 0
  • If the ws disconnected, then createdAt property become current time

    If the ws disconnected, then createdAt property become current time

    Which packages are you using?

    stream_chat_flutter

    On what platforms did you experience the issue?

    iOS, Android

    What version are you using?

    stream_chat_flutter: ^5.1.0

    What happened?

    I use HydratedBloc, to keep some things in locale storage like Hive or SharedPreferences. So, I wanted to keep user profile data like createdAt, user-role, etc. on my profile page, and I print it from the services section In my codebase. The results surprised me. When the internet connection is available, then it shows the correct user values, but when I close my internet connection, it shows the current time and date.

    For example, if a user was created in 2020, and If I close my internet connection, the service returns me to 12/28/2022 and the user role as null.

    I'm sure that I use it correctly because I also use firebase auth. Even it's not related to my locale storage solution, because I print in the service section in my codebase. So, I think that's the bug.

    Steps to reproduce

    in the services section, there is a getter whose name is currentUserStream, and from there, you can find the current user whose name is OwnUser. So, If you debug it, you can see the problem.
    

    Supporting info to reproduce

      @override
      Stream<ChatUserModel> get chatAuthStateChanges {
        return streamChatClient.state.currentUserStream.map(
          (OwnUser? user) {
           print("here my user: $user");
            if (user == null) {
              return ChatUserModel.empty();
            } else {
              return user.toDomain();
            }
          },
        );
      }
    

    Relevant log output

    If there is a connection:
    
    flutter: here my user: OwnUser(clg.............3, user, 2022-12-28 19:18:38.720025Z, true, {invisible: false, unread_count: 0, name: Alper, image: https://firebasestorage.googleapis.com/v0/b....4a}, false, null, [], )
    
    
    If connection is lost:
    
    flutter: here my user: OwnUser(c.....fCrIaS6pB1HDI3, null, null, false, {name: Alper, image: https://firebasestorage.googleapis.com/v0/b/...34a}, false, null, [], null)
    

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct
    bug 
    opened by alperefesahin 0
Releases(5.2.0)
  • 5.2.0(Dec 23, 2022)

    What's Changed

    • docs: v5 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1341
    • chore(ui): bump to 5.0.1 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1345
    • fix(llc): channel clean up after dispose from cache by @Renesanse in https://github.com/GetStream/stream-chat-flutter/pull/1342
    • fix(persistence): bring back experimental indexedDB on web by @geweald in https://github.com/GetStream/stream-chat-flutter/pull/1348
    • feat(ui): expose widthFactor in MessageWidget by @SpencerC in https://github.com/GetStream/stream-chat-flutter/pull/1357
    • feat(llc, ui): add support for thumbUrl in video attachment. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1362
    • feat(ui): show custom action on context menu by @lightrabbit in https://github.com/GetStream/stream-chat-flutter/pull/1353
    • fix(persistence): fix offline message pagination by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1361
    • fix(persistence,llc,core,ui): deprecated sort, add channelStateSort s… by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1366
    • feat(ui): add enableActionAnimation flag to StreamMessageInput by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1367
    • chore(llc,core,ui,persistence): v5.1.0 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1368
    • Docs: reorganize sidebar docs + fix broken links by @sachaarbonel in https://github.com/GetStream/stream-chat-flutter/pull/1369
    • docs(doc): revert migration guides back to original slugs by @jeroenleenarts in https://github.com/GetStream/stream-chat-flutter/pull/1374
    • docs(doc): fix broken links by @jeroenleenarts in https://github.com/GetStream/stream-chat-flutter/pull/1385
    • fix(ui): render overflow in message search title by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1382
    • fix(ui): cached attachment image not showing on web by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1381
    • chore(ui): upgrade lottie to v2 by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1383
    • chore(ui): update desktop drop dependency by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1388
    • chore(core): update connectivity plus dependency by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1389
    • fix(ui): on reply callback not used in AttachmentActionsModal by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1391
    • fix(ui): video thumbnails on web null error by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1390
    • docs(doc): update push notifications guide by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1402
    • test(ui): fix attachment actions modal test by @adasiewiczr in https://github.com/GetStream/stream-chat-flutter/pull/1408
    • fix(llc): initializing last synced data by @adasiewiczr in https://github.com/GetStream/stream-chat-flutter/pull/1407
    • feat(llc): Add Huawei and Xiaomi PushProviders by @JcMinarro in https://github.com/GetStream/stream-chat-flutter/pull/1411
    • chore(ui): update dart_vlc dependency by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1398
    • feat(ui): sending indicator in BottomRow by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1416

    New Contributors

    • @Renesanse made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1342
    • @lightrabbit made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1353
    • @jeroenleenarts made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1374
    • @adasiewiczr made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1408
    • @JcMinarro made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1411

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/5.0.0...5.2.0

    Source code(tar.gz)
    Source code(zip)
  • 5.1.0(Oct 26, 2022)

    What's Changed

    • V5 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1222
    • docs: v5 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1341
    • chore(ui): bump to 5.0.1 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1345
    • fix(llc): channel clean up after dispose from cache by @Renesanse in https://github.com/GetStream/stream-chat-flutter/pull/1342
    • fix(persistence): bring back experimental indexedDB on web by @geweald in https://github.com/GetStream/stream-chat-flutter/pull/1348
    • feat(ui): expose widthFactor in MessageWidget by @SpencerC in https://github.com/GetStream/stream-chat-flutter/pull/1357
    • feat(llc, ui): add support for thumbUrl in video attachment. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1362
    • feat(ui): show custom action on context menu by @lightrabbit in https://github.com/GetStream/stream-chat-flutter/pull/1353
    • fix(persistence): fix offline message pagination by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1361
    • fix(persistence,llc,core,ui): deprecated sort, add channelStateSort s… by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1366
    • feat(ui): add enableActionAnimation flag to StreamMessageInput by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1367

    New Contributors

    • @Renesanse made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1342
    • @lightrabbit made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1353

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.6.0...5.1.0

    Source code(tar.gz)
    Source code(zip)
  • 5.0.0(Sep 30, 2022)

    What's Changed

    • docs: update firebase token generation guide by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1186
    • fix(ui): Fix ChannelListTile sendingIndicator isMessageRead calculations by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1235
    • fix(llc): fix connecting while connecting and disconneting by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1237
    • feat(llc): add support for AttachmentFileUploaderProvider. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1246
    • feat(localization): Create stream_chat_localizations_no.dart by @monhelle in https://github.com/GetStream/stream-chat-flutter/pull/1218
    • chore(llc,core,ui,persistence,localization): update changelog and pu… by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1253
    • fix(ui): fix jiffy locale initialization by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1255
    • fix(ui): fix date divider not showing by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1259
    • docs(doc):add-filter-to-StreamUserListController by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1267
    • chore(ui, core): removed duplicate exports by @dkrutskikh in https://github.com/GetStream/stream-chat-flutter/pull/1268
    • feat(persistence): allow experimental indexedDB on web by @geweald in https://github.com/GetStream/stream-chat-flutter/pull/1189
    • fix(ui): substitute mentioned user ids with user names in system message by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1278
    • fix(ui): fix image download on iOS by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1280
    • fix(llc): do not serialize bytes by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1283
    • chore(llc,core,ui,persistence): bump version and changelog by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1288
    • docs(doc): add guide to initialize stream chat by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1290
    • fix(llc): Fix Channel.removeMessage not able to remove thread message. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1294
    • fix(ui): fix stopTyping unhandled exceptions when network is off or spotty. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1296
    • feat(llc): add hide_history flag in channel.addMembers. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1298
    • fix(core): only handle the channel list event if the state is success. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1297
    • fix(core): StreamChannelListView load more indicator non stop. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1299
    • feat(core): Add ChannelListController.filter and ChannelListController.sort setters. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1305
    • feat(ui): improve image resizing by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1300
    • Release v4.5.0 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1308
    • fix(llc): only start listening to client event once connected. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1321
    • feat(llc): third party video integration by @sachaarbonel in https://github.com/GetStream/stream-chat-flutter/pull/1295
    • fix(ui): Fix message text hiding because of a flutter bug by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1327
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1333
    • V5 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1222

    New Contributors

    • @monhelle made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1218

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.3.0...5.0.0

    Source code(tar.gz)
    Source code(zip)
  • 4.6.0(Sep 15, 2022)

    What's Changed

    • fix(llc): only start listening to client event once connected. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1321
    • feat(llc): third party video integration by @sachaarbonel in https://github.com/GetStream/stream-chat-flutter/pull/1295
    • fix(ui): Fix message text hiding because of a flutter bug by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1327
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1333

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.5.0...4.6.0

    Source code(tar.gz)
    Source code(zip)
  • 4.5.0(Aug 23, 2022)

    What's Changed

    • docs(doc): add guide to initialize stream chat by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1290
    • fix(llc): Fix Channel.removeMessage not able to remove thread message. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1294
    • fix(ui): fix stopTyping unhandled exceptions when network is off or spotty. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1296
    • feat(llc): add hide_history flag in channel.addMembers. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1298
    • fix(core): only handle the channel list event if the state is success. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1297
    • fix(core): StreamChannelListView load more indicator non stop. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1299
    • feat(core): Add ChannelListController.filter and ChannelListController.sort setters. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1305
    • feat(ui): improve image resizing by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1300
    • Release v4.5.0 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1308

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.4.1...4.5.0

    Source code(tar.gz)
    Source code(zip)
  • 5.0.0-beta.2(Jul 28, 2022)

    What's Changed

    • fix(ui): load to unread position by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1236
    • chore(ui): add contextmenu requirements for web by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1261
    • feat(ui): StreamChatConfiguration class by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/1128
    • feat(ui, core): add StreamAutocomplete by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1263
    • fix(ui): increase default file limit to 100MB by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1279
    • feat(ui): show dialog after clicking on the camera button and permission is denied by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1262
    • fix(llc, ui): copy file to tempdir before uploading a file and do not serialize bytes by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1285
    • chore(llc,core,ui,persistence,localizations): update changelog and pubspec by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1289

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/5.0.0-beta.1...5.0.0-beta.2

    Source code(tar.gz)
    Source code(zip)
  • 4.4.1(Jul 28, 2022)

    What's Changed

    • fix(ui): Fix ChannelListTile sendingIndicator isMessageRead calculations by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1235
    • fix(llc): fix connecting while connecting and disconneting by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1237
    • feat(llc): add support for AttachmentFileUploaderProvider. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1246
    • feat(localization): Create stream_chat_localizations_no.dart by @monhelle in https://github.com/GetStream/stream-chat-flutter/pull/1218
    • chore(llc,core,ui,persistence,localization): update changelog and pu… by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1253
    • fix(ui): fix jiffy locale initialization by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1255
    • fix(ui): fix date divider not showing by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1259
    • docs(doc):add-filter-to-StreamUserListController by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1267
    • chore(ui, core): removed duplicate exports by @dkrutskikh in https://github.com/GetStream/stream-chat-flutter/pull/1268
    • feat(persistence): allow experimental indexedDB on web by @geweald in https://github.com/GetStream/stream-chat-flutter/pull/1189
    • fix(ui): substitute mentioned user ids with user names in system message by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1278
    • fix(ui): fix image download on iOS by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1280
    • fix(llc): do not serialize bytes by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1283
    • chore(llc,core,ui,persistence): bump version and changelog by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1288

    New Contributors

    • @monhelle made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1218

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.3.0...4.4.1

    Source code(tar.gz)
    Source code(zip)
  • 4.4.0(Jul 7, 2022)

    What's Changed

    • fix(ui): Fix ChannelListTile sendingIndicator isMessageRead calculations by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1235
    • fix(llc): fix connecting while connecting and disconneting by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1237
    • feat(llc): add support for AttachmentFileUploaderProvider. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1246
    • feat(localization): Create stream_chat_localizations_no.dart by @monhelle in https://github.com/GetStream/stream-chat-flutter/pull/1218

    New Contributors

    • @monhelle made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1218

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.3.0...4.4.0

    Source code(tar.gz)
    Source code(zip)
  • 5.0.0-beta.1(Jun 27, 2022)

    What's Changed

    • feat(flutter): Desktop support for stream_chat_flutter by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/913
    • refactor(ui,core): remove deprecated code and cleanup by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1221
    • chore: Update changelogs & versions by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/1223

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.3.0...5.0.0-beta.1

    Source code(tar.gz)
    Source code(zip)
  • 4.3.0(Jun 20, 2022)

    What's Changed

    • refactor(llc): remove dio deprecated methods by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1172
    • fix(ui): fix file download by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1182
    • fix(ui): Fix commands resetting the StreamMessageInputController.value by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1193
    • chore(localization): improve german translations by @flodaniel in https://github.com/GetStream/stream-chat-flutter/pull/1195
    • feat(persistence): save channel.ownCapabilities in db by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1198
    • chore(ui): Updated photo_view to 0.14.0 by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1200
    • fix(llc): Persistence not removing hidden channels. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1201
    • fix(ui): video breaks bottom photo carousel. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1202
    • feat(ui): animate pinned message color by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1204
    • fix(ui): The URL enrichment logic does not allow path or query params in URL by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1207
    • docs(doc): fix user list view doc by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1210
    • feat(ui,localization): add unread messages label by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1212
    • feat(ui): open message list to unread position by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1213
    • fix(llc): handle user extra data name null condition by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1209
    • fix(ui): request permission only when showing the picker by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1214
    • fix(llc): fix x-stream-client header by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1215
    • chore(llc,core,ui,persistence,localization): minor version by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1216

    New Contributors

    • @flodaniel made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1195

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.2.0...4.3.0

    Source code(tar.gz)
    Source code(zip)
  • 4.2.0(May 20, 2022)

    What's Changed

    • fix(ui): fix attachment picker ui by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1115
    • docs(ui): add photo_manager android requirements by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1116
    • fix(ui): fix message widget thread indicator in reverse mode by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1118
    • feat(localization): add German localization by @mkoehne in https://github.com/GetStream/stream-chat-flutter/pull/1114
    • feat(llc): add support for extra data in file uploader by @rlee1990 in https://github.com/GetStream/stream-chat-flutter/pull/1110
    • feat(ui): Add option to disable mentions overlay in StreamMessageInput by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1122
    • feat(llc,ui,persistence): Deprecated Member.role in favor of Member.channelRole by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1124
    • chore(llc,core,ui,persistence,localization): update changelog and pu… by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1127
    • fix(ui): refactor message widget bottom row by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1132
    • chore(repo): upgrade to flutter 3.0 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1141
    • fix(ui): Visibility override flags not passed to StreamMessageActionsModal by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1142
    • fix(llc, core): fix message pagination parameters by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1144
    • Update dart_code_metrics.yaml by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1151
    • chore(repo): update dart code metrics by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1156
    • docs(doc): add sentry guide by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1152
    • feat(llc): add support for channel.membership by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1165
    • feat(llc): handle member.updated events in channel client by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1167
    • feat(llc): create disabled, hidden, truncatedAt a field in channel by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1166
    • refactor(llc, ui): migrate enums to v3 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1170
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1171

    New Contributors

    • @mkoehne made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1114
    • @rlee1990 made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1110

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.0.1...4.2.0

    Source code(tar.gz)
    Source code(zip)
  • 4.1.0(May 7, 2022)

    What's Changed

    • fix(ui): fix attachment picker ui by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1115
    • docs(ui): add photo_manager android requirements by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1116
    • fix(ui): fix message widget thread indicator in reverse mode by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1118
    • feat(localization): add German localization by @mkoehne in https://github.com/GetStream/stream-chat-flutter/pull/1114
    • feat(llc): add support for extra data in file uploader by @rlee1990 in https://github.com/GetStream/stream-chat-flutter/pull/1110
    • feat(ui): Add option to disable mentions overlay in StreamMessageInput by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1122
    • feat(llc,ui,persistence): Deprecated Member.role in favor of Member.channelRole by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1124
    • chore(llc,core,ui,persistence,localization): update changelog and pu… by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1127

    New Contributors

    • @mkoehne made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1114
    • @rlee1990 made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1110

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.0.1...4.1.0

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0(May 3, 2022)

    What's Changed

    • chore(ui, core): docs and linting improvements by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/821
    • fix(ui): added mip didUpdateWidget for focusnode by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/854
    • feat(ui): add support for og attachment preview by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/835
    • feat(ui, core): Added MessageInputController and general refactor by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/742
    • feat(llc, ui): user capabilities by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/762
    • feat(ui): Mip customization by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/879
    • feat(ui): stream channel listview by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/775
    • fix(llc): make ws reconnection more robust by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1009
    • chore(repo): Proposal: Don't run actions on draft PR's by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/1015
    • refactor(ui, core): deprecate v3 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1002
    • feat(ui): Add ability to specify onLinkTap for url attachments by @bhayatus in https://github.com/GetStream/stream-chat-flutter/pull/1004
    • Changed permission request api in attachment picker(v4) by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1029
    • feat(ui): Update slidable to 1.2.0 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1031
    • feat(ui): calculate slidable extentRatio in case of custom actions by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1035
    • release first beta by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1037
    • fix(ui): message list view initial alignment by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1042
    • feat(llc): Handle event.message in channel.truncate events by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1041
    • fix(llc): also save reactions while saving threads data in persistence by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1043
    • fix(llc): merge channel in channel.update event by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1049
    • fix(llc): separate mute from channel mutes by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1048
    • fix(llc): member removed by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1055
    • fix(llc): Hard delete from dashboard does not delete message from client by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1056
    • fix(ui): Use MessageInputTheme's inputBackgroundColor in MessageInput widgets by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1060
    • docs(ui): fix names and update tutorials by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1057
    • feat(flutter): Live event integration improvements by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1030
    • fix(ui): Remove Visibility Detector Package by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1065
    • docs(repo): add push v2 guide by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1066
    • feat(llc): add additional parameters to channel.truncate by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1073
    • fix(llc): send only user_id while reconnecting by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1072
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1075
    • fix(ui): Attachment actions on full screen were broken by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1076
    • Added the updates in changelog by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1078
    • fix(llc): fix reconnection by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1082
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1083
    • fix(ui): Fixed failing tests for attachment actions and gallery header by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1084
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1079
    • doc(repo): Fixed code in the overlapping chat with transparency docs by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1089
    • fix(ui): show date divider for first message by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1090
    • chore(llc): export defaultLogHandler, LogRecord by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1100
    • fix(ui): Name text overflow in reaction card by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1098
    • feat(ui, core): add remaining v4 list-views by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1094
    • fix(ui): remove check for launchUrl by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1101
    • fix(ui): use ogScrapeUrl for link attachments by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1104
    • change(llc,core,ui,persistence): Migrate List properties in llc models to be nullable by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1105
    • feat(ui): Add Channel Header customization by @S-ecki in https://github.com/GetStream/stream-chat-flutter/pull/938
    • feat(llc): Added a new field called push provider name in addDevice api call by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1107
    • feat(ui, localization): Open library from limited access by @MateusHBR in https://github.com/GetStream/stream-chat-flutter/pull/1092
    • feat(core, ui): add grid views, minor refactoring by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1109
    • docs(repo): update docs for v4 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1108
    • chore(llc,core,ui): v4 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/855

    New Contributors

    • @bhayatus made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1004
    • @MateusHBR made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1092

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/3.5.1...4.0.0

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0-beta.2(Apr 14, 2022)

    What's Changed

    • fix(ui): message list view initial alignment by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1042
    • feat(llc): Handle event.message in channel.truncate events by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1041
    • fix(llc): also save reactions while saving threads data in persistence by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1043
    • fix(llc): merge channel in channel.update event by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1049
    • fix(llc): separate mute from channel mutes by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1048
    • fix(llc): member removed by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1055
    • fix(llc): Hard delete from dashboard does not delete message from client by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1056
    • fix(ui): Use MessageInputTheme's inputBackgroundColor in MessageInput widgets by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1060
    • docs(ui): fix names and update tutorials by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/1057
    • feat(flutter): Live event integration improvements by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1030
    • fix(ui): Remove Visibility Detector Package by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1065
    • docs(repo): add push v2 guide by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1066
    • feat(llc): add additional parameters to channel.truncate by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1073
    • fix(llc): send only user_id while reconnecting by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1072
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1075
    • fix(ui): Attachment actions on full screen were broken by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1076
    • Added the updates in changelog by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1078
    • fix(llc): fix reconnection by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1082
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1083
    • fix(ui): Fixed failing tests for attachment actions and gallery header by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1084
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1079

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/4.0.0-beta.1...4.0.0-beta.2

    Source code(tar.gz)
    Source code(zip)
  • 3.6.1(Apr 14, 2022)

    What's Changed

    • fix(llc): fix reconnection by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1082
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1083

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/3.6.0...3.6.1

    Source code(tar.gz)
    Source code(zip)
  • 3.6.0(Apr 13, 2022)

    What's Changed

    • fix(llc): make ws reconnection more robust by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1009
    • chore(repo): Proposal: Don't run actions on draft PR's by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/1015
    • feat(ui): Add ability to specify onLinkTap for url attachments by @bhayatus in https://github.com/GetStream/stream-chat-flutter/pull/1004
    • fix(ui): message list view initial alignment by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1042
    • feat(llc): Handle event.message in channel.truncate events by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1041
    • fix(llc): also save reactions while saving threads data in persistence by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1043
    • fix(llc): merge channel in channel.update event by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1049
    • fix(llc): separate mute from channel mutes by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1048
    • fix(llc): member removed by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1055
    • fix(llc): Hard delete from dashboard does not delete message from client by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1056
    • fix(ui): Use MessageInputTheme's inputBackgroundColor in MessageInput widgets by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1060
    • fix(ui): Remove Visibility Detector Package by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1065
    • docs(repo): add push v2 guide by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1066
    • feat(llc): add additional parameters to channel.truncate by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1073
    • fix(llc): send only user_id while reconnecting by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1072
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1075

    New Contributors

    • @bhayatus made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1004

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/3.5.1...3.6.0

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0-beta.1(Mar 23, 2022)

    What's Changed

    • chore(ui, core): docs and linting improvements by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/821
    • fix(ui): added mip didUpdateWidget for focusnode by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/854
    • feat(ui): add support for og attachment preview by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/835
    • feat(ui, core): Added MessageInputController and general refactor by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/742
    • feat(llc, ui): user capabilities by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/762
    • feat(ui): Mip customization by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/879
    • feat(ui): stream channel listview by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/775
    • fix(llc): make ws reconnection more robust by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1009
    • chore(repo): Proposal: Don't run actions on draft PR's by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/1015
    • refactor(ui, core): deprecate v3 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1002
    • feat(ui): Add ability to specify onLinkTap for url attachments by @bhayatus in https://github.com/GetStream/stream-chat-flutter/pull/1004
    • Changed permission request api in attachment picker(v4) by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/1029
    • feat(ui): Update slidable to 1.2.0 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1031
    • feat(ui): calculate slidable extentRatio in case of custom actions by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/1035
    • release first beta by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1037

    New Contributors

    • @bhayatus made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/1004

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/3.5.1...4.0.0-beta.1

    Source code(tar.gz)
    Source code(zip)
  • 3.5.1(Mar 16, 2022)

    What's Changed

    • fix(ui): sample app version bump by @sachaarbonel in https://github.com/GetStream/stream-chat-flutter/pull/912
    • fix(ui): overflow of mentions overlay & input focus node by @geweald in https://github.com/GetStream/stream-chat-flutter/pull/940
    • fix(llc): unread count specific to channel setting wrong number by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1005
    • chore(llc,core,ui): update pubspec and changelogs by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/1010

    Full Changelog: https://github.com/GetStream/stream-chat-flutter/compare/3.5.0...3.5.1

    Source code(tar.gz)
    Source code(zip)
  • 3.5.0(Mar 2, 2022)

    What's Changed

    • test(llc): fix markAllRead test by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/899
    • build(ui): minor xcode updates to run example on macos by @GroovinChip in https://github.com/GetStream/stream-chat-flutter/pull/900
    • fix(ui): fix unban command not working in MessageInput. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/901
    • fix(llc): thread message reactions not updated by @bstolinski in https://github.com/GetStream/stream-chat-flutter/pull/890
    • feat(llc): Exposed score as a param for sendReaction function in client & channel by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/902
    • fix(llc): add type check in auth_interceptor.dart by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/904
    • feat(llc): add support for partialUserUpdate endpoint. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/906
    • fix(ui): scrollToBottom not respecting false value in MessageListView by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/907
    • fix(ui): update chewie to newest version by @S-ecki in https://github.com/GetStream/stream-chat-flutter/pull/905
    • fix(ui): Clicking on Avatar in ChannelPreview should go to Channel route by default by @ayush221b in https://github.com/GetStream/stream-chat-flutter/pull/916
    • perf(ui): improve full screen media animation by @HayesGordon in https://github.com/GetStream/stream-chat-flutter/pull/911
    • fix(llc): pinnedMessages inconsistency by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/910
    • fix(llc): decrease parent message reply count only once by @bstolinski in https://github.com/GetStream/stream-chat-flutter/pull/891
    • chore(llc, core, ui): bump versions to 3.5.0 by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/936

    New Contributors

    • @bstolinski made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/890
    • @ayush221b made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/902
    • @S-ecki made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/905

    Full Changelogs: stream_chat stream_chat_flutter_core stream_chat_flutter

    Source code(tar.gz)
    Source code(zip)
  • 3.4.0(Feb 3, 2022)

    What's Changed

    • ci(repo): fix melos bs for transitive deps by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/798
    • fix(llc): totalUnreadCount is not updating when app is resumed from background mode by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/801
    • fix(llc): fix retry queue mechanism by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/809
    • fix(core): update connectivity dep by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/813
    • chore(llc,core,ui): 3.3.1 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/810
    • feat(llc): Add enrichUrl endpoint. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/824
    • feat(ui): added autoplay to videos by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/832
    • fix(ui): media download by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/830
    • fix(ui): fixed svgs by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/840
    • fix(llc): fixed unread count after member removed by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/843
    • fix(core): channels order by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/831
    • chore(repo): add missed trailing commas by @dkrutskikh in https://github.com/GetStream/stream-chat-flutter/pull/849
    • feat(llc): deprecate location in favor of new edge server. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/864
    • chore(repo): make comments follow dart guidelines and fix typos by @developerjamiu in https://github.com/GetStream/stream-chat-flutter/pull/863
    • fix(localization): fix japanese translations by @koishi in https://github.com/GetStream/stream-chat-flutter/pull/872
    • feat(persistence): Use hard-coded drift versions. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/867
    • fix(core): fixed bad state on calling streamController.add by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/875
    • fix(ui): fix cast error while compressing video. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/874
    • fix(llc): include message.user while saving users in persistence. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/877
    • fix(llc): thread message deletion by @deven98 in https://github.com/GetStream/stream-chat-flutter/pull/876
    • feat(llc): Add queryBannedUsers endpoint. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/880
    • fix(llc): fix ownReactions population by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/873
    • feat(localization): added support for Portuguese language by @santiagogarcia97 in https://github.com/GetStream/stream-chat-flutter/pull/858
    • chore(ui): update flutter svg by @SpencerC in https://github.com/GetStream/stream-chat-flutter/pull/859
    • fix(llc): avoid invalid url by @jiahan5 in https://github.com/GetStream/stream-chat-flutter/pull/829
    • fix(llc): fix ChannelState copyWith with respect to pinnedMessages default value. by @xsahil03x in https://github.com/GetStream/stream-chat-flutter/pull/883
    • chore(llc,core,ui,persistence,localizations): 3.4.0 by @imtoori in https://github.com/GetStream/stream-chat-flutter/pull/884

    New Contributors

    • @developerjamiu made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/863
    • @koishi made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/872
    • @santiagogarcia97 made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/858
    • @SpencerC made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/859
    • @jiahan5 made their first contribution in https://github.com/GetStream/stream-chat-flutter/pull/829

    Full Changelogs: stream_chat stream_chat_flutter_core stream_chat_flutter stream_chat_localizations stream_chat_persistence

    Source code(tar.gz)
    Source code(zip)
  • 3.3.0(Nov 29, 2021)

    stream_chat

    3.3.0

    ✅ Added

    • Extra properties added to PaginationParams to aid in fetching messages.
    • Added hard delete functionality.

    🐞 Fixed

    • closeConnection() now uses normalClosure status when closing websocket.
    • Fixed local unread count indicator increasing for thread replies.
    • Fixed user presence indicator not updating correctly.
    • ChannelEvent.membersCount defaults to 0 avoiding parsing errors due to missing members_count field.

    stream_chat_flutter_core

    3.3.0

    • Updated stream_chat dependency to 3.3.0.

    stream_chat_flutter

    3.3.0

    ✅ Added

    • MessageListView now allows more better control over spacing after messages using spacingWidgetBuilder.
    • StreamChannel can now fetch messages around a message ID with the queryAroundMessage call.
    • Added MessageListView.keyboardDismissBehavior property.

    🐞 Fixed

    • [[#766]]AttachmentActionsModal now has customisation options for actions.
    • Fixed MessageWidget null errors associated with channel.memberCount.
    • Fixed adding attachments on web.
    • [#767]: Fix MessageInput focus behaviour when sending messages.
    • Fixed user presence indicator not updating correctly.
    • Do not use withData: true in FilePicker calls.
    • Fixed read indicator not updating correctly in specific situations.
    Source code(tar.gz)
    Source code(zip)
  • 3.2.0(Oct 29, 2021)

    stream_chat

    3.2.0

    🐞 Fixed

    • markAllRead() now updates local channel states.
    • [#744] Fixed unread count not updating correctly

    stream_chat_flutter_core

    3.2.0

    • Updated stream_chat dependency to 3.2.0.

    stream_chat_flutter

    3.2.0

    • Updated Dart SDK constraints to >=2.14.0 <3.0.0
    • Updated stream_chat_flutter_core dependency to 3.2.0.

    🐞 Fixed

    • Fixed message highlight animation alignment in MessageListView
    • [#491]: Fix MediaListView showing media in wrong order.
    • Fixed MessageListView initialIndex not working in some cases.
    • Improved MessageListView rendering in case of reordering.
    • Fix image thumbnail generation when using Stream CDN
    Source code(tar.gz)
    Source code(zip)
  • 3.1.1(Oct 5, 2021)

    stream_chat

    3.1.1

    ✅ Added

    • Added Filter.notExists.

    🐞 Fixed

    • [#710] Fixed JWT requiring using String as id.
    • Fixed expired CDN attachment links not updating correctly.

    stream_chat_flutter_core

    3.1.1

    • Updated stream_chat dependency to 3.1.1.

    stream_chat_flutter

    3.1.1

    • Updated stream_chat_flutter_core dependency to 3.1.1.
    • Updated file_picker, image_gallery_saver, and video_thumbnail to the latest versions.

    🐞 Fixed

    • [#687]: Fix Users losing their place in the conversation after replying in threads.
    • Fixed floating date stream subscription causing "Bad state: stream has already been listened.” error.
    • Fixed String capitalize extension not working on empty strings.

    ✅ Added

    • Added MessageInput.customOverlays property to add custom overlays to the message input.
    • Added MessageInput.mentionAllAppUsers property to mention all app users in the message input.
    • The MessageInput now supports local search for channels with less than 100 members.
    • Added MessageListView.paginationLoadingIndicatorBuilder to override the default loading indicator shown while paginating the message list.
    • Added new linkBackgroundColor in MessageTheme for setting background colors of link attachments.

    ⚠️ Deprecated

    • MessageInput.mentionsTileBuilder is now deprecated in favor of MessageInput.userMentionsTileBuilder.
    • MentionTile is now deprecated in favor of UserMentionsTile.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Sep 27, 2021)

    stream_chat

    3.0.0

    🛑️ Breaking Changes from 2.2.1

    • Added 6 new methods in ChatPersistenceClient.
      • bulkUpdateMessages
      • bulkUpdatePinnedMessages
      • bulkUpdateMembers
      • bulkUpdateReads
      • updatePinnedMessageReactions
      • deletePinnedMessageReactionsByMessageId

    ✅ Added

    • Added Filter.contains and Filter.empty
    • Added support for next, previous value pagination in client.search , read more.
    • Attachment class now has a fileSize and mimeType property. Setting a file will also set the file_size , mime_type key on extraData, so attachment.fileSize, attachment.mimetype and attachment.extraData['file_size'] , attachment.extraData['mime_type] is same respectively.

    🐞 Fixed

    • [#659] Fixed unread count not updating correctly.
    • Fix Filter.empty() json encoding.
    • [#700] Connecting user without providing name uses id instead for setting user.name.

    stream_chat_flutter_core

    3.0.0

    • Updated stream_chat dependency to 3.0.0.

    🛑️ Breaking Changes from 2.2.1

    • MessageSearchListViewCore paginationParams property is now deprecated in favor of limit.

      // previous
      paginationParams = const PaginationParams(limit: 30)
      
      // new
      limit = 30
      
    • UserListCore pagination property is now deprecated in favor of limit.

      // previous
      pagination = const PaginationParams(limit: 30)
      
      // new
      limit = 30
      
    • ChannelListCore pagination property is now deprecated in favor of limit.

      // previous
      pagination = const PaginationParams(limit: 30)
      
      // new
      limit = 30
      
    • UserListCore filter property now is non-nullable.

    🔄 Changed

    • UserListCore filter property now has a default value.
      filter = const Filter.empty()
      

    🐞 Fixed

    • Fixed MessageSearchBloc pagination.
    • [#673]: Fix Core Widgets not getting rebuild with new data on configuration change.

    stream_chat_flutter

    3.0.0

    • Updated stream_chat_flutter_core dependency to 3.0.0.

    🛑️ Breaking Changes from 2.2.1

    • UserListView filter property now is non-nullable.

    🐞 Fixed

    • [#668]: Fix MessageInput rendering errors in case there are no actions available to show.
    • [#349]: Fix MessageInput attachment render overflow error.
    • [#674]: Check scrollController is attached before calling jump in MessageListView.
    • Fixed MessageListView header and footer when reverse: false.

    🔄 Changed

    • Animation curves changed from default Curves.linear to Curves.easeOut and Curves.easeIn for attachment controls.
    • Removed default padding in DateDivider in MessageListView

    stream_chat_persistence

    3.0.0

    • Updated stream_chat dependency to 3.0.0.
    • [#604] Fix cascade deletion by enabling pragma foreign_keys.
    • Added a new table PinnedMessageReactions and dao PinnedMessageReactionDao specifically for pinned messages.

    stream_chat_localizations

    2.0.0

    • Updated stream_chat_flutter dependency to 3.0.0.

    🐞 Fixed

    • Fixed typos in Italian translations.
    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Sep 1, 2021)

    stream_chat

    2.2.1

    🐞 Fixed

    • Fixed unread indicator not updating correctly
    • Fix channel.show not working because of null body

    stream_chat_flutter_core

    2.2.1

    • Updated stream_chat dependency to 2.2.1

    stream_chat_flutter

    2.2.1

    • Updated stream_chat_flutter_core dependency to 2.2.1
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Aug 25, 2021)

    stream_chat

    2.2.0

    🐞 Fixed

    • Fixed channel.markAllRead throwing failed host lookup.

    ✅ Added

    • User and OwnUser classes now have an image property. Setting an image will also set the 'image' key on extraData, so user.image and user.extraData['image'] is the same.
    • User and OwnUser classes now have a name property. Setting a name will also set the 'name' key on extraData, so user.name and user.extraData['name'] is the same.
    • Channel class now has extra image getter and setter. As well as an updateImage to do a partial update after a channel has been initialized.
    • Channel class now has extra name getter and setter. As well as an updateName to do a partial update after a channel has been initialized.
    • Added slow mode which allows a cooldown period after a user sends a message.

    stream_chat_persistence

    2.2.0

    • Updated llc dependency
    • Added support for message.i18n
    • Added support for user.language

    stream_chat_flutter_core

    2.2.0

    🛑️ Breaking Changes from 2.1.1

    • Renamed BetterStreamBuilder.loadingBuilder to .noDataBuilder

    🔄 Changed

    • BetterStreamBuilder.initialData is now nullable/not-required.

    🐞 Fixed

    • #612 ChannelListView pagination doesn't work after refresh

    stream_chat_flutter

    2.2.0

    ✅ Added

    • #516: Added StreamChatThemeData.placeholderUserImage for building a widget when the UserAvatar image is loading
    • Added a backgroundColor property to the following widgets:
      • ChannelHeader
      • ChannelListHeader
      • GalleryHeader
      • GalleryFooter
      • ThreadHeader
    • Added MessageInput.attachmentLimit in order to limit the no. of attachments that can be sent with a single message.
    • Added MessageInput.onAttachmentLimitExceed callback which will be called when the attachmentLimit is exceeded. This will override the default error alert behaviour.
    • Added MessageInput.attachmentButtonBuilder and MessageInput.commandButtonBuilder for more customizations.
    typedef ActionButtonBuilder = Widget Function(
        BuildContext context,
        IconButton defaultActionButton,
        );
    

    NOTE: The last parameter is the default ActionButton You can call .copyWith to customize just a subset of properties.

    • Added slow mode which allows a cooldown period after a user sends a message.

    🔄 Changed

    Theming has been upgraded! Most theme classes now have InheritedTheme classes associated with them, and have been upgraded with some goodies like lerp functions. Here's the full naming breakdown:

    • AvatarTheme is now AvatarThemeData
    • ChannelHeaderTheme is now ChannelHeaderThemeData
    • ChannelListHeaderTheme is now ChannelListHeaderThemeData
    • ChannelListViewTheme is now ChannelListViewThemeData
    • ChannelPreviewTheme is now ChannelPreviewThemeData
    • MessageInputTheme is now MessageInputThemeData
    • MessageListViewTheme is now MessageListViewTheme
    • MessageSearchListViewTheme is now MessageSearchListViewThemeData
    • MessageTheme is now MessageThemeData
    • UserListViewTheme is now UserListViewThemeData
    • Updated core dependency.

    🐞 Fixed

    • Fixed MessageInput textField case where input is not enabled if the file picked from the camera is null.
    • Fixed date dividers position/alignment in non reversed MessageListView.
    • Fixed MessageListView not opening to the right initialMessage if StreamChannel.initialMessageId is set.
    • Fixed null check errors when accessing message.text in MessageWidget and MessageListView; this occurred when sending a message with no text.

    stream_chat_localizations

    1.1.0

    ✅ Added

    • Added support for Spanish locale.
    • Added support for Korean locale.
    • Added support for Japanese locale.
    • Added translations for cooldown mode.
    • Added translations for attachmentLimitExceed.

    🔄 Changed

    • Some of the Hindi translations have been updated/changed for better understanding.
      • 'रिप्लाई' -> 'जवाब दें'
      • 'तस्वीरें' -> 'फ़ोटोज'
      • 'बिता हुआ कल' -> 'कल'
      • 'चैनल मौन है' -> 'चैनल म्यूट है'
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Jul 28, 2021)

    stream_chat

    2.1.0

    🛑️ Removed

    • The MessageTranslation class has been removed. Use the new i18n field in the Message class instead.

    ✅ Added

    • The Message class now has an i18n field for translations
    • The User class now has a language field for the user's language preference.

    🔄 Changed

    • client.user is now deprecated in favor of client.currentUser.
    • client.userStream is now deprecated in favor of client.currentUserStream.

    🐞 Fixed

    • #563: Channel.stopWatching() not working
    • #575: Wrong OwnUser.*

    stream_chat_persistence

    2.1.0

    ✅ Added

    • Added support for Message.i18n
    • Added support for User.language

    stream_chat_flutter_core

    2.1.0

    🛑️ Breaking Changes from 2.0.0

    • Changed default message filter of MessageListCore

    ✅ Added

    • Added MessageListCore.paginationLimit

    🔄 Changed

    • StreamChatCore.of(context).user is now deprecated in favor of StreamChatCore.of(context).currentUser.
    • StreamChatCore.of(context).userStream is now deprecated in favor of StreamChatCore.of(context).currentUserStream.

    stream_chat_flutter

    2.1.0

    ✅ Added

    • Added MessageListView.paginationLimit
    • MessageText renders message translation if available
    • Allow the various ListView widgets to be themed via ThemeData classes
    • Added bottomRowBuilder and deletedBottomRowBuilder that build a widget below a MessageWidget

    🔄 Changed

    • StreamChat.of(context).user is now deprecated in favor of StreamChat.of(context).currentUser.
    • StreamChat.of(context).userStream is now deprecated in favor of StreamChat.of(context).currentUserStream.

    🐞 Fixed

    • Fix floating date divider not having a fixed size

    stream_chat_localizations

    1.0.0

    • First release
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Jul 16, 2021)

    stream_chat

    🛑️ Breaking Changes from 1.5.3

    • migrate this package to null safety
    • ConnectUserWithProvider now requires tokenProvider as a required param. (Removed from the constructor)
    • client.disconnect() is now divided into two different functions
      • client.closeConnection() -> for closing user websocket connection.
      • client.disconnectUser() -> for disconnecting user and resetting client state.
    • client.devToken() now returns a Token model instead of String.
    • ApiError is removed in favor of StreamChatError
      • StreamChatError -> parent type for all the stream errors.
      • StreamWebSocketError -> for user websocket related errors.
      • StreamChatNetworkError -> for network related errors.
    • client.queryChannels(), channel.query() options param is removed in favor of individual params
      • option.state -> bool state
      • option.watch -> bool watch
      • option.presence -> bool presence
    • client.queryUsers() options param is removed in favor of individual params
      • option.presence -> bool presence
    • Migrate this package to null safety
    • Added typed filters

    🐞 Fixed

    • #369: Client does not return without internet connection
    • several minor fixes
    • performance improvements

    ✅ Added

    • New Location enum is introduced for easily changing the client location/baseUrl.
    • New client.openConnection() and client.closeConnection() is introduced to connect/disconnect user ws connection.
    • New client.partialUpdateMessage and channel.partialUpdateMessage methods
    • connectWebSocket parameter in connect user calls to use the client in "connection-less" mode.

    🔄 Changed

    • baseURL is now deprecated in favor of using Location to change data location.

    stream_chat_flutter

    🛑️ Breaking Changes from 1.5.4

    • Migrate this package to null safety

    • Renamed ChannelImage to ChannelAvatar

    • Updated StreamChatThemeData.reactionIcons to accept custom builder

    • Renamed ColorTheme properties to reflect the purpose of the colors

      • ColorTheme.black -> ColorTheme.textHighEmphasis
      • ColorTheme.grey -> ColorTheme.textLowEmphasis
      • ColorTheme.greyGainsboro -> ColorTheme.disabled
      • ColorTheme.greyWhisper -> ColorTheme.borders
      • ColorTheme.whiteSmoke -> ColorTheme.inputBg
      • ColorTheme.whiteSnow -> ColorTheme.appBg
      • ColorTheme.white -> ColorTheme.barsBg
      • ColorTheme.blueAlice -> ColorTheme.linkBg
      • ColorTheme.accentBlue -> ColorTheme.accentPrimary
      • ColorTheme.accentRed -> ColorTheme.accentError
      • ColorTheme.accentGreen -> ColorTheme.accentInfo
    • ChannelListCore options property is removed in favor of individual properties

      • options.state -> bool state
      • options.watch -> bool watch
      • options.presence -> bool presence
    • UserListView options property is removed in favor of individual properties

      • options.presence -> bool presence
    • Renamed ImageHeader to GalleryHeader

    • Renamed ImageFooter to GalleryFooter

    • MessageBuilder and ParentMessageBuilder signature is now

    typedef MessageBuilder = Widget Function(
        BuildContext,
        MessageDetails,
        List<Message>,
        MessageWidget defaultMessageWidget,
        );
    

    the last parameter is the default MessageWidget You can call .copyWith to customize just a subset of properties

    ✅ Added

    • Added video compress options (frame and quality) to MessageInput
    • TypingIndicator now has a property called parentId to show typing indicator specific to threads
    • #493: add support for messageListView header/footer
    • MessageWidget accepts a userAvatarBuilder
    • Added pinMessage ui support
    • Added MessageListView.threadSeparatorBuilder property
    • Added MessageInput.onError property to allow error handling
    • Added GalleryHeader/GalleryFooter theme classes

    🐞 Fixed

    • #483: Keyboard covers input text box when editing message
    • Modals are shown using the nearest Navigator to make using the SDK easier in a nested navigator use case
    • #484: messages don't update without a reload
    • MessageListView not rendering if the user is not a member of the channel
    • Fix MessageInput overflow when there are no actions
    • Minor fixes and improvements

    stream_chat_flutter_core

    🛑️ Breaking Changes from 1.5.3

    • migrate this package to null safety
    • channelsBloc.queryChannels(), ChannelListCore options param/property is removed in favor of individual params/properties
      • options.state -> bool state
      • options.watch -> bool watch
      • options.presence -> bool presence
    • usersBloc.queryUsers(), UserListCore options param/property is removed in favor of individual params/properties
      • options.presence -> bool presence

    ✅ Added

    • Monitor connection using connectivity_plus package

    🐞 Fixed

    • Minor fixes
    • Performance improvements

    stream_chat_persistence

    • Migrate this package to null safety
    • Minor fixes and improvements
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-nullsafety.9(Jul 8, 2021)

    stream_chat

    2.0.0-nullsafety.8

    🐞 Fixed

    • Export PushProvider enum

    stream_chat_flutter_core

    2.0.0-nullsafety.9

    • Update llc dependency

    stream_chat_flutter

    2.0.0-nullsafety.9

    🛑️ Breaking Changes from 2.0.0-nullsafety.8

    • Renamed ColorTheme properties to reflect the purpose of the colors
      • ColorTheme.black -> ColorTheme.textHighEmphasis
      • ColorTheme.grey -> ColorTheme.textLowEmphasis
      • ColorTheme.greyGainsboro -> ColorTheme.disabled
      • ColorTheme.greyWhisper -> ColorTheme.borders
      • ColorTheme.whiteSmoke -> ColorTheme.inputBg
      • ColorTheme.whiteSnow -> ColorTheme.appBg
      • ColorTheme.white -> ColorTheme.barsBg
      • ColorTheme.blueAlice -> ColorTheme.linkBg
      • ColorTheme.accentBlue -> ColorTheme.accentPrimary
      • ColorTheme.accentRed -> ColorTheme.accentError
      • ColorTheme.accentGreen -> ColorTheme.accentInfo

    ✅ Added

    • Added video compress options (frame and quality) to MessageInput

    stream_chat_persistence

    2.0.0-nullsafety.8

    • Updated llc dependency
    • Upgraded moor dependencies and generated files with the latest dependency
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-nullsafety.8(Jun 29, 2021)

    stream_chat

    2.0.0-nullsafety.7

    🛑️ Breaking Changes from 2.0.0-nullsafety.6

    • ConnectUserWithProvider now requires tokenProvider as a required param. (Removed from the constructor)
    • client.disconnect() is now divided into two different functions
      • client.closeConnection() -> for closing user websocket connection.
      • client.disconnectUser() -> for disconnecting user and resetting client state.
    • client.devToken() now returns a Token model instead of String.
    • ApiError is removed in favor of StreamChatError
      • StreamChatError -> parent type for all the stream errors.
      • StreamWebSocketError -> for user websocket related errors.
      • StreamChatNetworkError -> for network related errors.
    • client.queryChannels(), channel.query() options param is removed in favor of individual params
      • option.state -> bool state
      • option.watch -> bool watch
      • option.presence -> bool presence
    • client.queryUsers() options param is removed in favor of individual params
      • option.presence -> bool presence

    ✅ Added

    • New Location enum is introduced for easily changing the client location/baseUrl.
    • New client.openConnection() and client.closeConnection() is introduced to connect/disconnect user ws connection.

    🔄 Changed

    • baseURL is now deprecated in favor of using Location to change data location.

    🐞 Fixed

    • #369: Client does not return without internet connection

    stream_chat_flutter_core

    2.0.0-nullsafety.8

    🛑️ Breaking Changes from 2.0.0-nullsafety.7

    • channelsBloc.queryChannels(), ChannelListCore options param/property is removed in favor of individual params/properties
      • options.state -> bool state
      • options.watch -> bool watch
      • options.presence -> bool presence
    • usersBloc.queryUsers(), UserListCore options param/property is removed in favor of individual params/properties
      • options.presence -> bool presence

    stream_chat_flutter

    2.0.0-nullsafety.8

    🛑️ Breaking Changes from 2.0.0-nullsafety.7

    • ChannelListCore options property is removed in favor of individual properties
      • options.state -> bool state
      • options.watch -> bool watch
      • options.presence -> bool presence
    • UserListView options property is removed in favor of individual properties
      • options.presence -> bool presence
    • MessageBuilder and ParentMessageBuilder signature is now
    typedef MessageBuilder = Widget Function(
        BuildContext,
        MessageDetails,
        List<Message>,
        MessageWidget defaultMessageWidget,
        );
    

    the last parameter is the default MessageWidget You can call .copyWith to customize just a subset of properties

    ✅ Added

    • TypingIndicator now has a property called parentId to show typing indicator specific to threads
    • #493: add support for messageListView header/footer
    • MessageWidget accepts a userAvatarBuilder

    🐞 Fixed

    • #483: Keyboard covers input text box when editing message
    • Modals are shown using the nearest Navigator to make using the SDK easier in a nested navigator use case
    • #484: messages don't update without a reload
    • MessageListView not rendering if the user is not a member of the channel

    stream_chat_persistence

    2.0.0-nullsafety.7

    • Update llc dependency
    • Minor fixes and improvements
    Source code(tar.gz)
    Source code(zip)
Owner
Stream
Build scalable newsfeeds, activity streams, chat and messaging in a few hours instead of weeks
Stream
In this project, we will design a travel app UI with a parallax effect for a unique scroll experience. You will learn how to create your own parallax effect without using external libraries.

Travel App UI In this part, we will design a travel app UI with a parallax effect for a unique scroll experience. You will learn how to create your ow

DebugErrorX 5 Dec 5, 2022
Quickly is build as a tool to enhance your Flutter UI development experience and make code easier

Quickly is build as a tool to enhance your Flutter UI development experience and make code easier. It is highly inspired by Bootstrap and Tailwind CSS. It also provide lots of extension methods on String, List and Map.

Aniket Khote 11 Oct 24, 2022
Sticker chat is a messaging application built using Flutter, Stream, and Rive

Sticker Chat ?? Sticker chat is a messaging application built using Flutter, Stream, and Rive. It allows users to send and receive messages in real-ti

Neevash Ramdial (Nash) 47 Nov 23, 2022
Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.

Flet Flet is a framework that enables you to easily build realtime web, mobile and desktop apps in your favorite language and securely share them with

Flet 3.6k Jan 9, 2023
Flet enables developers to easily build realtime web, mobile and desktop apps in Ruby. No frontend experience required

Flet If bundler is not being used to manage dependencies, install the gem by executing: $ gem install flet Flet Flet is a framework that enables you

AdamMusa 29 Jan 3, 2023
A non-official package to use QOSIC on your Dart and Flutter app

Qosic Dart A Very Good Project created by Very Good CLI. About ❓ This package is a simple way to handle Qosic's USSD payment. It allows you to integra

Elikem (Junior) Medehou 4 Dec 8, 2022
Flutterbodydetection - A flutter plugin that uses MLKit on iOS/Android platforms to enable body pose and mask detection using Pose Detection and Selfie Segmentation APIs for both static images and live camera stream.

body_detection A flutter plugin that uses MLKit on iOS/Android platforms to enable body pose and mask detection using Pose Detection and Selfie Segmen

null 18 Dec 5, 2022
A JSON serialize class to convert 'to' and 'from' JSON format Enums, DateTime and any of your own classes.

A JSON serialize class to convert 'to' and 'from' JSON format Enums, DateTime and any of your own classes. Introduction Jsonize solves the problem of

null 2 Nov 17, 2022
As a beginner , this is my own side project by using flutter & dart , Firebase . This app still in progress .

helpful_app A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

null 0 Nov 23, 2021
Deepak Sharma 149 Dec 10, 2022
An extended version of Flutter Colors with more swatches and more flexibility to generate your own custom swatch.

Colours An extended version of Flutter Colors with more swatches and more flexibility to generate your own custom swatch. Getting Started In your flut

Salman S 4 Nov 23, 2021
Flashcard App where you can learn different topics and create your own flashcards in Google Drive.

flashcard_project Flashcard app connected with Google Spreadsheet Getting Started This is a Flutter Project that works on iOS, Android, Web and MacOS.

Max Weber 11 Oct 24, 2022
Use the template to create your own repository, complete the project and verify

Proyecto Nivelación MisionTic Usar el template para crear un repositorio propio,

nockturb 0 Dec 20, 2021
Woocommerce SDK for Flutter. The Complete Woo Commerce SDK for Flutter.

woocommerce Woocommerce SDK for Flutter. Getting Started Add the package to your pubspec.yaml and import. import 'package:woocommerce/woocommerce.dart

RAY 105 Dec 6, 2022
A dynamic, Stream-based API for job scheduling in Dart, capable of processing on different triggers.

Pendulum A library for task-scheduling in Dart. Exports a Task class that returns Streams, with a number of versatile options to customize how Tasks a

Aditya Kishore 1 Aug 22, 2020
Destini flutter - A choose your own adventure game in flutter

destini_flutter A choose your own adventure game made with flutter. Getting Star

Joel Nickson 1 Jan 2, 2022
New trick on how to create your own custom icons in flutter with bottom bar navigation

Customized Bottom Navigation Bar in Flutter | Tech With Sam Customized Bottom Navigation Bar in Flutter - Watch on youtube ✌   App Preview App Screens

Samuel Adekunle 10 Oct 26, 2022
Easily integrate GitHub's Octicons in your own Flutter project

flutter_octicons Use the Octicon icons developed by GitHub and released under the MIT license in Flutter. flutter_octicons automatically updates itsel

Rubin Raithel 6 Nov 21, 2022
A Flutter add-to-app demo you can try with your own apps

Put Flutter to Work ?? Hello! This project is a demo intended to help people test drive Flutter by integrating it into their existing applications. In

Flutter 280 Jan 8, 2023