fix(chat): require both member notification subscriptions at startup
This commit is contained in:
1 parent
1aface994f
commit
ed00f1ad9a
2 files changed
+11
-4
No files matched your search
@@ -410,10 +410,16 @@ static void on_member_route_changed(struct TOPO_GROUP* group, struct TOPO_GROUP_
|
||||
on_member_props_changed(node->node_id, NULL, group->channel_id, arg);
|
||||
}
|
||||
|
||||
void chat_member_init(struct UTUN_INSTANCE* inst) {
|
||||
member_sync_add_props_cbk(inst, on_member_props_changed, inst);
|
||||
utun_add_nodeinfo_cbk(inst, on_member_route_changed, inst);
|
||||
int chat_member_init(struct UTUN_INSTANCE* inst) {
|
||||
if (member_sync_add_props_cbk(inst, on_member_props_changed, inst) < 0) {
|
||||
DEBUG_ERROR(DEBUG_CATEGORY_CHAT_SYNC, "chat_member: properties subscription failed"); return -1;
|
||||
}
|
||||
if (utun_add_nodeinfo_cbk(inst, on_member_route_changed, inst) < 0) {
|
||||
DEBUG_ERROR(DEBUG_CATEGORY_CHAT_SYNC, "chat_member: routes subscription failed");
|
||||
member_sync_remove_props_cbk(inst, on_member_props_changed, inst); return -1;
|
||||
}
|
||||
DEBUG_INFO(DEBUG_CATEGORY_CHAT_SYNC, "chat_member: initialized (group properties/routes -> complete MEMBER_UPDATED)");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void chat_member_destroy(struct UTUN_INSTANCE* inst) {
|
||||
|
||||
@@ -110,7 +110,8 @@ struct chat_member_radio_mute_req { struct UTUN_INSTANCE* inst; char ch_id[64];
|
||||
void chat_core_toggle_member_radio_mute_trampoline(void* arg);
|
||||
|
||||
/* Подписки свойств/маршрутов → MEMBER_UPDATED; вызываются в uasync при init/destroy чата. */
|
||||
void chat_member_init(struct UTUN_INSTANCE* inst);
|
||||
/* Установить обе подписки0/-1;при отказе частичная регистрация снята. Вызывается один раз из chat_core_init. */
|
||||
int chat_member_init(struct UTUN_INSTANCE* inst);
|
||||
void chat_member_destroy(struct UTUN_INSTANCE* inst);
|
||||
|
||||
/* Дополнительная диагностика карточки; online/RTT берутся только из chat_member_display.
|
||||
|
||||
Reference in new issue
Block a user