From 926929ff534678c1c0ac4f2af82c5dcd77c9bc3d Mon Sep 17 00:00:00 2001
From: Andrea Gianarda <andrea.gianarda@belledonne-communications.com>
Date: Wed, 20 Sep 2023 09:11:40 +0200
Subject: [PATCH] Do not add address with gruu to focus participant

(cherry picked from commit 3f82e13a0130a188ea338f9264e7cd211bd8522e)
---
 src/chat/chat-room/client-group-chat-room.cpp | 7 ++++---
 src/conference/participant.h                  | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/chat/chat-room/client-group-chat-room.cpp b/src/chat/chat-room/client-group-chat-room.cpp
index 22335e9048..acd830a946 100644
--- a/src/chat/chat-room/client-group-chat-room.cpp
+++ b/src/chat/chat-room/client-group-chat-room.cpp
@@ -1007,9 +1007,10 @@ void ClientGroupChatRoom::onConferenceCreated(const std::shared_ptr<Address> &ad
 	lInfo() << "Conference [" << conference->getConferenceId() << "] has been created";
 
 	static_pointer_cast<RemoteConference>(getConference())->confParams->setConferenceAddress(addr);
-	static_pointer_cast<RemoteConference>(getConference())->focus->setAddress(addr);
-	static_pointer_cast<RemoteConference>(getConference())->focus->clearDevices();
-	static_pointer_cast<RemoteConference>(getConference())->focus->addDevice(addr);
+	auto focus = static_pointer_cast<RemoteConference>(getConference())->focus;
+	focus->setAddress(addr);
+	focus->clearDevices();
+	focus->addDevice(addr);
 
 	d->chatRoomListener->onChatRoomInsertRequested(getSharedFromThis());
 	setState(ConferenceInterface::State::Created);
diff --git a/src/conference/participant.h b/src/conference/participant.h
index dcefcd4409..4fe045dbf0 100644
--- a/src/conference/participant.h
+++ b/src/conference/participant.h
@@ -174,7 +174,7 @@ protected:
 		session.reset();
 	}
 	inline void setAddress(const std::shared_ptr<Address> &addr) {
-		this->addr = addr;
+		this->addr = Address::create(addr->getUriWithoutGruu());
 	}
 
 	std::shared_ptr<ParticipantDevice> addDevice(const std::shared_ptr<ParticipantDevice> &device);
-- 
GitLab