@@ -205,37 +205,26 @@ class ChatViewModel @Inject constructor(
205205 vmParams.space
206206 ).collect { view ->
207207 val isMuted = NotificationStateCalculator .calculateMutedState(view)
208-
209- if (view.spaceUxType == SpaceUxType .CHAT ) {
210- // For chat spaces, use space name and icon
208+ getObject.async(
209+ GetObject .Params (
210+ target = vmParams.ctx,
211+ space = vmParams.space
212+ )
213+ ).onSuccess { objectView ->
214+ val wrapper = ObjectWrapper .Basic (objectView.details[vmParams.ctx].orEmpty())
215+ header.value = HeaderView .Default (
216+ title = wrapper.name.orEmpty(),
217+ icon = view.spaceIcon(builder = urlBuilder),
218+ isMuted = isMuted
219+ )
220+ }.onFailure {
221+ Timber .e(it, " Failed to fetch object for chat header" )
222+ // Fallback to space name
211223 header.value = HeaderView .Default (
212224 title = view.name.orEmpty(),
213225 icon = view.spaceIcon(builder = urlBuilder),
214226 isMuted = isMuted
215227 )
216- } else {
217- // For non-chat spaces, fetch the object name
218- getObject.async(
219- GetObject .Params (
220- target = vmParams.ctx,
221- space = vmParams.space
222- )
223- ).onSuccess { objectView ->
224- val wrapper = ObjectWrapper .Basic (objectView.details[vmParams.ctx].orEmpty())
225- header.value = HeaderView .Default (
226- title = wrapper.name.orEmpty(),
227- icon = view.spaceIcon(builder = urlBuilder),
228- isMuted = isMuted
229- )
230- }.onFailure {
231- Timber .e(it, " Failed to fetch object for chat header" )
232- // Fallback to space name
233- header.value = HeaderView .Default (
234- title = view.name.orEmpty(),
235- icon = view.spaceIcon(builder = urlBuilder),
236- isMuted = isMuted
237- )
238- }
239228 }
240229 }
241230 }
@@ -1594,51 +1583,22 @@ class ChatViewModel @Inject constructor(
15941583
15951584 fun onChatInfoSaved (newName : String ) {
15961585 viewModelScope.launch {
1597- val spaceView = spaceViews.get(vmParams.space)
1598- if (spaceView == null ) {
1599- Timber .e(" Space view not available" )
1600- sendToast(" Failed to update chat name" )
1601- return @launch
1602- }
1603-
1604- if (spaceView.spaceUxType == SpaceUxType .CHAT ) {
1605- // For chat spaces, update space details
1606- setSpaceDetails.async(
1607- SetSpaceDetails .Params (
1608- space = vmParams.space,
1609- details = mapOf (Relations .NAME to newName)
1610- )
1611- ).onSuccess {
1612- Timber .d(" Successfully updated chat space name to: $newName " )
1613- // Update local state
1614- val currentHeader = header.value
1615- if (currentHeader is HeaderView .Default ) {
1616- header.value = currentHeader.copy(title = newName)
1617- }
1618- sendToast(" Chat name updated" )
1619- }.onFailure { e ->
1620- Timber .e(e, " Error while updating chat space name" )
1621- sendToast(" Failed to update chat name" )
1622- }
1623- } else {
1624- // For non-chat spaces, update the chat object
1625- setObjectDetails.async(
1626- SetObjectDetails .Params (
1627- ctx = vmParams.ctx,
1628- details = mapOf (Relations .NAME to newName)
1629- )
1630- ).onSuccess {
1631- Timber .d(" Successfully updated chat name to: $newName " )
1632- // Update local state
1633- val currentHeader = header.value
1634- if (currentHeader is HeaderView .Default ) {
1635- header.value = currentHeader.copy(title = newName)
1636- }
1637- sendToast(" Chat name updated" )
1638- }.onFailure { e ->
1639- Timber .e(e, " Error while updating chat name" )
1640- sendToast(" Failed to update chat name" )
1586+ setObjectDetails.async(
1587+ SetObjectDetails .Params (
1588+ ctx = vmParams.ctx,
1589+ details = mapOf (Relations .NAME to newName)
1590+ )
1591+ ).onSuccess {
1592+ Timber .d(" Successfully updated chat name to: $newName " )
1593+ // Update local state
1594+ val currentHeader = header.value
1595+ if (currentHeader is HeaderView .Default ) {
1596+ header.value = currentHeader.copy(title = newName)
16411597 }
1598+ sendToast(" Chat name updated" )
1599+ }.onFailure { e ->
1600+ Timber .e(e, " Error while updating chat name" )
1601+ sendToast(" Failed to update chat name" )
16421602 }
16431603 }
16441604 }
0 commit comments