8000 Messages might stuck at last, not loading the rest, despite `Chat.lastItem` changed · Issue #691 · team113/messenger · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Messages might stuck at last, not loading the rest, despite Chat.lastItem changed #691
Closed
@SleepySquash

Description

@SleepySquash

Summary

Чат не будет запрашивать список сообщений, если последнее сообщение в данном чате = Chat.lastItem. Но по какой-то причине это состояние может зависнуть, даже когда Chat.lastItem уже другой, более новый. При это в списке недавних чатов последнее сообщение рисуется новое, счётчик сообщений обновляется. Но сообщения после последнего сохранённого в хайве не загружаются.

Steps to reproduce

  1. ??? - пользоваться приложением.

What is the current bug behavior?

Сообщения могут не прогружаться, даже когда последнее не является Chat.lastItemом.

What is the expected correct behavior?

Сообщения корректно прогружаются.

Possible fixes

Возможно, есть проблемы в определении isLast HiveGraphQl провайдера.

UPD. В обработке события EventChatItemPosted происходит просто put айтема, т.е. он никак не обновляет список items пагинации. А в HiveGraphQlPageProvider есть такие строчки в методе around:

if (cached != null &&
    (cached.edges.length >= count || !cached.info.hasNext)) {
  return cached;
}

Т.е. если cached.edges.length >= count, то никакого запроса на бэкэнд сделано не будет. Соответственно и сообщения не будут подгружены.

Metadata

Metadata

Assignees

Labels

bugBugs and incorrectness problemsk::UI/UXUI (user interface) and UX (user experience) changes

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0