Open huahengling opened 3 years ago
Could you please send a chat log when you are typing at iOS side
Could you please send a chat log when you are typing at iOS side
var groupDialog = ChatDialog(dialogID:connectycube_dialog_id, type: .public)
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
groupDialog.sendUserIsTyping()
return true
}
there is no error message from the server since it is not a closure function
I mean, could you please share logs
We need to check what message is sending under the hod
I mean, could you please share logs
- either when iOS user is typing
- or at other party, when also iOS user is typing
We need to check what message is sending under the hod
Hi Dave, there is no log returned from the server. The other party also not receive anything in their listener
I mean you need to enable SDK logs at iOS side
https://developers.connectycube.com/ios/?id=configuration
and the send typing from iOS side and check logs in Xcode
this is the log when other party is typing,
2021-05-18 21:13:06.472399+0800 Reno[46412:4826922] [Chat]: RCV: <message xmlns="jabber:client" from="3571_60110656ca8bf470b0aabe34@muc.chat.connectycube.com/4015716" type="groupchat" to="3372693-3571@chat.connectycube.com">
<composing xmlns="http://jabber.org/protocol/chatstates"/>
<delay xmlns="urn:xmpp:delay" stamp="2021-05-18T13:13:06Z"/>
</message>
2021-05-18 21:13:06.475286+0800 Reno[46412:4826922] [REST]: Request[26]:
GET URL:https://api.connectycube.com/users/by_login?login=4015716
headers: {
"Accept-Language" = "en-MY;q=1, zh-Hant-MY;q=0.9, ar-MY;q=0.8";
"CB-OS" = "iOS 13.2.2";
"CB-SDK" = "iOS 1.7.0 ";
"CB-Token" = 82C1A58E9D0D91FB9763B69BACE4CA00CAC0;
"ConnectyCube-REST-API-Version" = "0.1.1";
"User-Agent" = "Reno/1.0 (iPhone; iOS 13.2.2; Scale/3.00)";
}
parameters: {
login = 4015716;
}
2021-05-18 21:13:06.736035+0800 Reno[46412:4826922] [Chat]: RCV: <message xmlns="jabber:client" from="3571_60110656ca8bf470b0aabe34@muc.chat.connectycube.com/4015716" type="groupchat" to="3372693-3571@chat.connectycube.com">
<composing xmlns="http://jabber.org/protocol/chatstates"/>
<delay xmlns="urn:xmpp:delay" stamp="2021-05-18T13:13:06Z"/>
</message>
2021-05-18 21:13:06.738053+0800 Reno[46412:4827508] [REST]: Request[27]:
GET URL:https://api.connectycube.com/users/by_login?login=4015716
headers: {
"Accept-Language" = "en-MY;q=1, zh-Hant-MY;q=0.9, ar-MY;q=0.8";
"CB-OS" = "iOS 13.2.2";
"CB-SDK" = "iOS 1.7.0 ";
"CB-Token" = 82C1A58E9D0D91FB9763B69BACE4CA00CAC0;
"ConnectyCube-REST-API-Version" = "0.1.1";
"User-Agent" = "Reno/1.0 (iPhone; iOS 13.2.2; Scale/3.00)";
}
parameters: {
login = 4015716;
}
2021-05-18 21:13:07.228674+0800 Reno[46412:4827508] [Chat]: RCV: <message xmlns="jabber:client" from="3571_60110656ca8bf470b0aabe34@muc.chat.connectycube.com/4015716" type="groupchat" to="3372693-3571@chat.connectycube.com">
<paused xmlns="http://jabber.org/protocol/chatstates"/>
<delay xmlns="urn:xmpp:delay" stamp="2021-05-18T13:13:07Z"/>
</message>
2021-05-18 21:13:07.269719+0800 Reno[46412:4827508] [REST]: Response[26]:
headers: {
"CB-Token-ExpirationDate" = "2021-05-18 15:13:07 UTC";
Connection = "keep-alive";
"Content-Length" = 379;
"Content-Type" = "application/json; charset=utf-8";
Date = "Tue, 18 May 2021 13:13:07 GMT";
Duration = "0.794139";
Server = "nginx/1.16.1";
"Strict-Transport-Security" = "max-age=15768000; includeSubDomains";
}
object: {
user = {
"_id" = 6092619ff8550e007e118513;
avatar = "<null>";
"created_at" = "2021-04-15T10:03:44Z";
"custom_data" = "<null>";
email = "<null>";
"external_id" = "<null>";
"external_user_id" = "<null>";
"facebook_id" = "<null>";
"full_name" = "heng new";
id = 4015716;
"last_request_at" = "2021-05-18T13:10:39Z";
login = 4015716;
phone = "<null>";
"twitter_id" = "<null>";
"updated_at" = "2021-05-18T13:10:39Z";
"user_tags" = "";
website = "<null>";
};
}
2021-05-18 21:13:08.218714+0800 Reno[46412:4827067] [REST]: Response[27]:
headers: {
"CB-Token-ExpirationDate" = "2021-05-18 15:13:08 UTC";
Connection = "keep-alive";
"Content-Length" = 379;
"Content-Type" = "application/json; charset=utf-8";
Date = "Tue, 18 May 2021 13:13:08 GMT";
Duration = "1.479687";
Server = "nginx/1.16.1";
"Strict-Transport-Security" = "max-age=15768000; includeSubDomains";
}
object: {
user = {
"_id" = 6092619ff8550e007e118513;
avatar = "<null>";
"created_at" = "2021-04-15T10:03:44Z";
"custom_data" = "<null>";
email = "<null>";
"external_id" = "<null>";
"external_user_id" = "<null>";
"facebook_id" = "<null>";
"full_name" = "heng new";
id = 4015716;
"last_request_at" = "2021-05-18T13:10:39Z";
login = 4015716;
phone = "<null>";
"twitter_id" = "<null>";
"updated_at" = "2021-05-18T13:10:39Z";
"user_tags" = "";
website = "<null>";
};
}
there is no log when i invoke this method .sendUserIsTyping() from iOS side
We just tried to use dialog.sendUserIsTyping()
an according to log it generates the typing status
Could you please double check again and provide a code snippet exactly how you call this method and where
Hi Dave,
I tested if dialog ==.private, it works. I can see the log. But if the dialog ==.public, it does not work
Hi Dave
Is there any update regarding this issue ?
Hi Dave, the issue still happen. Have you fixed it yet ?
@huahengling seems the typing is actual for 1-1 or group chats only. For public, the main idea is to have e.g. very bug groups with lots of people, e.g. similar to Telegram Channels, where having typing data displayed does not make any sense cause of lot's of people.
We recommend to use GROUP chats for standard group chatting feature, where typing should work well
@huahengling seems the typing is actual for 1-1 or group chats only. For public, the main idea is to have e.g. very bug groups with lots of people, e.g. similar to Telegram Channels, where having typing data displayed does not make any sense cause of lot's of people.
We recommend to use GROUP chats for standard group chatting feature, where typing should work well
i tested with Android, it works with even with PUBLIC mode. Why cant iOS implement the same feature ? Thanks
Hi Dave, any updates ?
@huahengling I would say the android part is done this way by mistake
Please refer to this reply https://github.com/ConnectyCube/connectycube-ios-sdk-releases/issues/9#issuecomment-862972899
This is a proper way to use it
.sendUserIsTyping() is not working, the other party cant track when iOS user is typing. But when other party is typing, iOS user is able to track it