Повторные уведомления /chat/new-channel

Пока экспериментировал с шину сообщений, заметил, что каждый раз при получении сообщения в чате приходит уведомление /chat/new-channel. Это происходит даже тогда, когда чат открыт у обоих пользователей.

[{"global_id":61583779,"message_id":134,"channel":"/chat/4","data":{"chat_message":{"id":6,"message":"nice to see you too","cooked":"<p>nice to see you too</p>","created_at":"2023-05-24T14:07:02.800Z","excerpt":"nice to see you too","available_flags":[],"thread_title":null,"chat_channel_id":4,"user":{"id":152,"username":"testuser","name":"testuser","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/e495f1/{size}.png","moderator":false,"admin":false,"staff":false,"new_user":false,"primary_group_name":null,"assign_icon":"user-plus","assign_path":"/u/testuser/activity/assigned"},"chat_webhook_event":null,"uploads":[]},"type":"sent","staged_id":"66122c8d-ad8e-4754-b04a-e0ff75c4e898","staged_thread_id":null}}]
|
[{"global_id":61583780,"message_id":69,"channel":"/chat/4/new-messages","data":{"channel_id":4,"message_id":6,"user_id":152,"username":"testuser","thread_id":null}}]
|
[{"global_id":61583781,"message_id":20767,"channel":"/chat/new-channel","data":{"channel":{"id":4,"allow_channel_wide_mentions":true,"chatable":{"id":1,"users":[{"id":152,"username":"testuser","name":"testuser","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/e495f1/{size}.png","custom_fields":{},"assign_icon":"user-plus","assign_path":"/u/testuser/activity/assigned"}]},"chatable_id":1,"chatable_type":"DirectMessage","chatable_url":null,"title":"@testuser","slug":null,"last_message_sent_at":"2023-05-24 14:07:02 UTC","status":"open","memberships_count":0,"current_user_membership":{"following":true,"muted":false,"desktop_notification_level":"always","mobile_notification_level":"always","chat_channel_id":4,"last_read_message_id":5},"meta":{"message_bus_last_ids":{"channel_message_bus_last_id":134,"new_messages":69,"new_mentions":0},"can_join_chat_channel":true},"threading_enabled":false}}}]
|

А затем, когда отправляется ещё одно сообщение:

[{"global_id":61583803,"message_id":135,"channel":"/chat/4","data":{"chat_message":{"id":7,"message":"and another message","cooked":"<p>and another message</p>","created_at":"2023-05-24T14:08:01.128Z","excerpt":"and another message","available_flags":[],"thread_title":null,"chat_channel_id":4,"user":{"id":152,"username":"testuser","name":"testuser","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/e495f1/{size}.png","moderator":false,"admin":false,"staff":false,"new_user":false,"primary_group_name":null,"assign_icon":"user-plus","assign_path":"/u/testuser/activity/assigned"},"chat_webhook_event":null,"uploads":[]},"type":"sent","staged_id":"67a062f9-28de-42c8-a037-c3d272584c3d","staged_thread_id":null}}]
|
[{"global_id":61583804,"message_id":70,"channel":"/chat/4/new-messages","data":{"channel_id":4,"message_id":7,"user_id":152,"username":"testuser","thread_id":null}}]
|
[{"global_id":61583805,"message_id":20768,"channel":"/chat/new-channel","data":{"channel":{"id":4,"allow_channel_wide_mentions":true,"chatable":{"id":1,"users":[{"id":152,"username":"testuser","name":"testuser","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/e495f1/{size}.png","custom_fields":{},"assign_icon":"user-plus","assign_path":"/u/testuser/activity/assigned"}]},"chatable_id":1,"chatable_type":"DirectMessage","chatable_url":null,"title":"@testuser","slug":null,"last_message_sent_at":"2023-05-24 14:08:01 UTC","status":"open","memberships_count":0,"current_user_membership":{"following":true,"muted":false,"desktop_notification_level":"always","mobile_notification_level":"always","chat_channel_id":4,"last_read_message_id":6},"meta":{"message_bus_last_ids":{"channel_message_bus_last_id":135,"new_messages":70,"new_mentions":0},"can_join_chat_channel":true},"threading_enabled":false}}}]
|

Исходный код ссылка кажется, подразумевает, что событие new-channel отправляется каждый раз при создании сообщения.

И, конечно, если это полное непонимание с моей стороны того, как всё должно работать, не стесняйтесь посмеяться надо мной, пока переносите это в Support :wink:

5 лайков

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

3 лайка

Я уже бегло посмотрел, думаю, это не регрессия. Однако сейчас от этого, вероятно, можно отказаться, так как у нас есть автоматическая логика для получения канала, если он отсутствует (проще говоря: если его нет в боковой панели).

Несколько месяцев назад это было бы сложнее.

Перепроверю и постараюсь завершить это завтра, отличная идея, спасибо :+1: Это было в списке дел, которые мне нужно проверить, чтобы разрешить более строгое количество каналов в боковой панели, так что один пункт меньше :rocket:

4 лайка

Хорошо, я только что слил это. Теперь новое событие канала должно отправляться только тогда, когда канал отсутствует в вашей боковой панели.

3 лайка