[Merge] lp:~phablet-team/messaging-framework/add_support_for_handle_none into lp:messaging-framework

Roberto Mier Escandón  roberto.escandon at canonical.com
Thu May 12 22:41:17 UTC 2016


Review: Needs Information

A pair of questions

Diff comments:

> 
> === modified file 'src/messaging/qt/tp/connection.cpp'
> --- src/messaging/qt/tp/connection.cpp	2016-05-12 21:33:27 +0000
> +++ src/messaging/qt/tp/connection.cpp	2016-05-12 21:33:27 +0000
> @@ -164,14 +164,19 @@
>      personalChat.allowedProperties.append(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"));
>      personalChat.allowedProperties.append(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"));
>  
> -    Tp::RequestableChannelClass groupChat;
> -    groupChat.fixedProperties[TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType")] = TP_QT_IFACE_CHANNEL_TYPE_TEXT;
> -    groupChat.fixedProperties[TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType")]  = Tp::HandleTypeRoom;
> -    groupChat.allowedProperties.append(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"));
> -    groupChat.allowedProperties.append(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"));
> -    groupChat.allowedProperties.append(TP_QT_IFACE_CHANNEL_INTERFACE_CONFERENCE + QLatin1String(".InitialInviteeIDs"));
> -
> -    requests->requestableChannelClasses << personalChat << groupChat;
> +    Tp::RequestableChannelClass existingGroupChat;
> +    existingGroupChat.fixedProperties[TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType")] = TP_QT_IFACE_CHANNEL_TYPE_TEXT;
> +    existingGroupChat.fixedProperties[TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType")]  = Tp::HandleTypeRoom;
> +    existingGroupChat.allowedProperties.append(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"));
> +    existingGroupChat.allowedProperties.append(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"));
> +
> +    Tp::RequestableChannelClass newGroupChat;
> +    newGroupChat.fixedProperties[TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType")] = TP_QT_IFACE_CHANNEL_TYPE_TEXT;
> +    newGroupChat.fixedProperties[TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType")]  = Tp::HandleTypeNone;
> +    newGroupChat.allowedProperties.append(TP_QT_IFACE_CHANNEL_INTERFACE_CONFERENCE + QLatin1String(".InitialInviteeIDs"));

Can we have additional properties here like group initiator, server or group title?

> +
> +    requests->requestableChannelClasses << personalChat << existingGroupChat << newGroupChat;
> +
>      plugInterface(Tp::AbstractConnectionInterfacePtr::dynamicCast(requests));
>  
>      contacts = Tp::BaseConnectionContactsInterface::create();
> @@ -475,11 +481,12 @@
>                      //FIXME: get contact attribute display name for the user second param
>                      initial_invitees.push_back(std::make_shared<User>(initial_invitee_id.toStdString(), std::string{}/* display_name*/ ));
>                  }
> +                target_handle_type = Tp::HandleTypeRoom;
>              }
>  
>              //FIXME: fill group title parameter when got somehow
>              recipient = std::make_shared<messaging::Group>(
> -                        group_handles_.left.find(target_handle)->second.toLatin1().data(),

What happens with incoming invitations for a new group?. They trigger on_new_group_invitation_received() and there, a new channel is created for that group, but on the contrary to a group created from app, in this case a chat_id is already present in the incoming recipient parameter. Are those of type Tp::HandleTypeRoom as oposite the app ones which are Tp::HandleTypeNone?. Is that right?

> +                        std::string{} /* no id exists yet */,
>                          initial_invitees,
>                          std::string{} /* group title*/);
>              break;


-- 
https://code.launchpad.net/~phablet-team/messaging-framework/add_support_for_handle_none/+merge/294570
Your team Ubuntu Phablet Team is subscribed to branch lp:~phablet-team/messaging-framework/fix-group-creation-and-provide-groupid-in-advance.



More information about the Ubuntu-reviews mailing list