Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

new message chat content not scroll to latest #53

Open
athlona64 opened this issue Apr 8, 2020 · 15 comments
Open

new message chat content not scroll to latest #53

athlona64 opened this issue Apr 8, 2020 · 15 comments
Labels
bug Something isn't working wontfix This will not be worked on

Comments

@athlona64
Copy link

Describe the bug
when have new message chatbox content not scroll to latest is freezing

@nguyenvanzk
Copy link

This happen when the list view content's height exceed visible rect.

@athlona64
Copy link
Author

how to solve

@hjJunior
Copy link

You can use the method animateTo from scrollController, here is the example

final scrollController = _chatViewKey.currentState.scrollController;

scrollController.animateTo(
  scrollController.position.maxScrollExtent,
  curve: Curves.easeOut,
  duration: Duration(milliseconds: 300),
);

Don't forget to define the GlobalKey (_chatViewKey)

final _chatViewKey = GlobalKey<DashChatState>();

// ... and on build method
return DashChat(
  key: _chatViewKey,
);

@ngoctranfire
Copy link
Contributor

This doesn't actually solve the problem as well too. Not sure what's going on. It seems that with the visibility of the virtual keyboard, the new message is not going to it by default. One thing I tried was to increase my delay time before triggering the scrolling duration. That seems to be helpful in a lot more cases, but that didn't exactly fix it either.

@sijangurung
Copy link
Contributor

Also, if there are lots of images, which will render lazily, the messageListView will not scroll to latest message.

@albrownwood
Copy link

same issue on 1.1.5

@sijangurung
Copy link
Contributor

one solution to this is to set inverse: true. But then you have to get the messages in ascending order and do some custom logic.

@SebastienBtr SebastienBtr added the bug Something isn't working label Jun 21, 2020
@0xmikko
Copy link

0xmikko commented Jul 14, 2020

Any news?

@vzctl
Copy link

vzctl commented Jul 24, 2020

I think it makes sense to add a parameter to the DashChat constuctor enabling that behavior, it looks like a very common use case.

@fluttercid
Copy link

Hi all,
I stored messages and when I reopen chat window, it is stay on the top so I used scroll control.
Even though, it is not working properly. I mean last message behind on input bar.
Is there any solutions for this?
Thanks

@SebastienBtr
Copy link
Collaborator

Hi @fluttercid, in that case you maybe have a margin issue, you can use inputToolbarMargin for that

@fluttercid
Copy link

fluttercid commented Aug 28, 2020

Thank you for your answer @SebastienBtr
I tried your suggestion; however, it is not working.
I think messageviewlist height is include input box.
I made a document for it.
explain about situation.docx

@SubashManian
Copy link

Scroll Issue

i'm facing the same scroll issue in different scenario, whenever i try to open the dashchat or send a new message it stops before 1 or 2 recent messages, it's not fully scroll to bottom. This issue is happening for the scroll to bottom default button too. i'm using below line of codes to scroll.

_chatViewKey.currentState.scrollController.animateTo( _chatViewKey.currentState.scrollController.position.maxScrollExtent, curve: Curves.easeOut, duration: const Duration(milliseconds: 100), );

Thanks in advance

@mustafapc19
Copy link

I am also facing @SubashManian 's issue. Is there any hacky way to fix it?? And is there any documentation for how internals of this package works. I could help out maybe.

@ritheshSalyan
Copy link

One workaround is to use a small delay after sending message and then scroll

     await  Future.delayed(Duration(milliseconds: 500));
    _chatViewKey.currentState.scrollController.animateTo(
      _chatViewKey.currentState.scrollController.position.maxScrollExtent,
      curve: Curves.easeOut,
      duration: const Duration(milliseconds: 100),
    );

@SebastienBtr SebastienBtr added the wontfix This will not be worked on label Aug 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests