C-toxcore: Не могу отправлять сообщения в постоянном групповом чате

Созданный на 30 июн. 2018  ·  9Комментарии  ·  Источник: TokTok/c-toxcore

В постоянных группах иногда случается, что я не могу отправлять сообщения в групповом чате, к которому я подключен. К сожалению, я не знаю, как воспроизвести эту ошибку, и это происходит случайно. Я в сети и могу отправлять сообщения людям, но не могу отправлять сообщения группе или группам. Обычно, если я теряю соединение с группой, мне нужно просто переподключиться, но здесь этого никогда не происходит. Для меня единственный способ снова отправлять сообщения - это вручную покинуть группу и снова присоединиться к ней или перезапустить клиент.

Самый полезный комментарий

А был на звонке, разбился,

Спасибо. Это была подсказка, в которой я нуждался. Думаю, теперь я вижу проблему:
сообщения от конкретного партнера идут с "номером сообщения",
увеличивается с каждым сообщением от этого однорангового узла, а сообщения со слишком старыми
номер сообщения игнорируется другими узлами. Текущий номер сообщения
сохраняется в сохраненных данных, но в случае сбоя и перезапуска однорангового узла
из старого файла сохранения, они начнутся со старого номера сообщения и поэтому
другие сверстники проигнорируют их. В частности, они игнорируют сообщение об уничтожении
что одноранговый узел отправляет, если он покидает группу, что объясняет, почему он покидает
и повторное присоединение не помогает - другие партнеры даже не осознают этого партнера
левый.

Все это касается и звука (для сообщений с потерями есть отдельный номер сообщения).
пакеты).

Это может потребовать некоторой мысли, чтобы исправить это должным образом.

Все 9 Комментарий

Я мог воспроизвести эту ошибку и заметил, что все еще могу получать сообщения от некоторых людей в группе.

Закрытие, потому что мы избавились от старого PR PGC.

Я только что столкнулся с этой проблемой, запустив qTox с toxcore v0.2.9. Я загрузил постоянную группу, которую загружал несколько раз раньше, и не мог отправлять сообщения или задавать заголовок. Я все еще получаю одноранговые сообщения. Перезапуск qTox не решает проблему. Остальные группы по-прежнему работают нормально. Нет никакого журнала при отправке сообщения или задании заголовка.

Поскольку группа, похоже, застряла на этом пути, я был бы рад разобраться в том, что происходит с gdb, если основной разработчик может дать мне какие-то рекомендации.

Мы столкнулись с той же проблемой с новым участником группы, использующим Toxcore 0.2.9:

У нас такой же групповой чат с 3 участниками: A, B и C. Все трое были в сети, но сообщения A не были доставлены B или C, и они также не получали свои собственные сообщения. Это сохранялось при многократных перезапусках клиента A.

Во время чата A увидел, что либо B, либо C отключились и снова подключились в группе, а B и C увидели, что друг друга отключили и снова подключились в своем чате 1-1. После этого сообщения A были доставлены A и B, но все еще не C.

Через некоторое время C закрыл и снова открыл свой клиент, и тогда все A, B и C могли видеть сообщения каждого. @zugz, это один из случаев, о которых вы спрашивали меня в IRC IIRC. Я снова открою эту проблему, так как она воспроизводится на кончике и звучит так, как будто ее изучают.

Спасибо, что сообщили об этом. В настоящее время я полностью озадачен и еще не
удалось воспроизвести ошибку.

Некоторые вопросы, чтобы сузить круг вопросов:

Кто-нибудь из участников присоединился к другим группам или покинул их?

Какие пары A, B, C были токсичными друзьями?

Правильно ли я понимаю, что в период, когда сообщения А
рассылались не всем, А тем не менее видел и B, и C в
список пиров для группы (кроме кратковременных отключений)?

Я ударил это снова, теперь на v0.2.10. Извините, я отвечу на ваши вопросы сейчас, чтобы узнать о последнем повторном случае. В данном случае группа состояла из 4 человек. A участвовал в разговоре, потерпел аварию, затем снова включился и присоединился к разговору. Когда они воссоединились, все одноранговые узлы не могли их слышать, но А мог слышать всех одноранговых узлов, и все одноранговые узлы не получали текстовые сообщения от А, но А видел свои собственные.

Какие пары A, B, C были токсичными друзьями?

A дружил с B и C
B дружил с A, C и D.
C дружил с A и B
D дружил с B

Кто-нибудь из участников присоединился к другим группам или покинул их?

Нет. Все четверо участвовали в групповом аудиовызове, играли в какие-то игры - никто не делал ничего, связанного с токсичностью.

Правильно ли я понимаю, что в период, когда сообщения А
рассылались не всем, А тем не менее видел и B, и C в
список пиров для группы (кроме кратковременных отключений)?

да. B, C, D в этом случае все отображались в списке пиров, и A получал звук для всех из них.

Уход и повторное приглашение в группу не устранили проблему, а перезапуск клиента не устранил проблему. Всем четырем участникам нужно было перейти в новую группу, где все потом заработало.

A использовал qTox, который довольно редко сохраняет профиль tox - в основном только при добавлении / удалении друга, поэтому я не понимаю, как сбой qTox во время вызова мог каким-то образом повредить состояние профиля tox - но, возможно, сбой является важной частью репро.

А был на звонке, разбился,

Спасибо. Это была подсказка, в которой я нуждался. Думаю, теперь я вижу проблему:
сообщения от конкретного партнера идут с "номером сообщения",
увеличивается с каждым сообщением от этого однорангового узла, а сообщения со слишком старыми
номер сообщения игнорируется другими узлами. Текущий номер сообщения
сохраняется в сохраненных данных, но в случае сбоя и перезапуска однорангового узла
из старого файла сохранения, они начнутся со старого номера сообщения и поэтому
другие сверстники проигнорируют их. В частности, они игнорируют сообщение об уничтожении
что одноранговый узел отправляет, если он покидает группу, что объясняет, почему он покидает
и повторное присоединение не помогает - другие партнеры даже не осознают этого партнера
левый.

Все это касается и звука (для сообщений с потерями есть отдельный номер сообщения).
пакеты).

Это может потребовать некоторой мысли, чтобы исправить это должным образом.

Думаю, этот билет случайно закрыли. Основная причина, обнаруженная zugz, произошла через несколько месяцев после открытия https://github.com/TokTok/c-toxcore/pull/1321 , и на основе чатов эта проблема все еще не решена. Повторное открытие.

Ах, упс. Да, в сообщении коммита в # 1321 было «возможно, исправляет x», а «fixes x» - это какая-то волшебная вещь GitHub, которая автоматически закрывает проблему, упомянутую при слиянии.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги