Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/tuoyun' into tuoyun
Browse files Browse the repository at this point in the history
  • Loading branch information
skiffer-git committed Nov 5, 2021
2 parents 3ebdecf + 92ec944 commit 42b6a2d
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ reset_remote_branch:
ios: reset_remote_branch
go get golang.org/x/mobile
rm -rf build/ open_im_sdk/t_friend_sdk.go
GOARCH=arm64 gomobile bind -v -trimpath -ldflags "-s -w" -o build/OpenIMCore.framework -target=ios ./open_im_sdk/
GOARCH=arm64 gomobile bind -v -trimpath -ldflags "-s -w" -o build/OpenIMCore.xcframework -target=ios ./open_im_sdk/
9 changes: 6 additions & 3 deletions open_im_sdk/conversation_msg.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func (u *UserRelated) doMsgNew(c2v cmd2Value) {
}
if v.SendID == u.LoginUid { //seq對齊消息 Messages sent by myself
if u.judgeMessageIfExists(msg) { //if sent through this terminal
err := u.updateMessageSeq(msg)
err := u.updateMessageSeq(msg, MsgStatusSendSuccess)
if err != nil {
sdkLog("updateMessageSeq err", err.Error(), msg)
}
Expand Down Expand Up @@ -121,7 +121,7 @@ func (u *UserRelated) doMsgNew(c2v cmd2Value) {
c.ConversationID = GetConversationIDBySessionType(c.GroupID, GroupChatType)
}

if msg.ContentType <= AcceptFriendApplicationTip {
if msg.ContentType <= AcceptFriendApplicationTip && msg.ContentType != HasReadReceipt {
newMessages = append(newMessages, msg)
u.doUpdateConversation(cmd2Value{Value: updateConNode{c.ConversationID, AddConOrUpLatMsg,
c}})
Expand Down Expand Up @@ -185,7 +185,10 @@ func (u *UserRelated) doMsgNew(c2v cmd2Value) {
newMessages = append(newMessages, msg)

} else {
_ = u.insertPushMessageToChatLog(msg)
err = u.insertPushMessageToChatLog(msg)
if err != nil {
sdkLog("insert HasReadReceipt err:", err)
}
//update read state
msgReadList = append(msgReadList, msg)
}
Expand Down
6 changes: 3 additions & 3 deletions open_im_sdk/data_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -1354,15 +1354,15 @@ func (u *UserRelated) insertPushMessageToChatLog(message *MsgStruct) (err error)
return nil
}

func (u *UserRelated) updateMessageSeq(message *MsgStruct) (err error) {
func (u *UserRelated) updateMessageSeq(message *MsgStruct, status int) (err error) {
u.mRWMutex.Lock()
defer u.mRWMutex.Unlock()
stmt, err := u.Prepare("update chat_log set seq=? where msg_id=?")
stmt, err := u.Prepare("update chat_log set seq=?,status=? where msg_id=?")
if err != nil {
sdkLog("Prepare failed, ", err.Error())
return err
}
_, err = stmt.Exec(message.Seq, message.ClientMsgID)
_, err = stmt.Exec(message.Seq, status, message.ClientMsgID)
if err != nil {
sdkLog("Exec failed ", err.Error())
return err
Expand Down
22 changes: 22 additions & 0 deletions open_im_sdk/open_im_sdk_conversation_msg.go
Original file line number Diff line number Diff line change
Expand Up @@ -1375,6 +1375,28 @@ func (u *UserRelated) InsertSingleMessageToLocalStorage(callback Base, message,
return s.ClientMsgID
}

func (u *UserRelated) InsertGroupMessageToLocalStorage(callback Base, message, groupID, sender string) string {
s := MsgStruct{}
err := json.Unmarshal([]byte(message), &s)
if err != nil {
callback.OnError(200, err.Error())
return ""
}
s.SendID = sender
s.RecvID = groupID
//Generate client message primary key
s.ClientMsgID = getMsgID(s.SendID)
s.SendTime = getCurrentTimestampByNano()
go func() {
if err = u.insertMessageToLocalOrUpdateContent(&s); err != nil {
callback.OnError(201, err.Error())
} else {
callback.OnSuccess("")
}
}()
return s.ClientMsgID
}

func (u *UserRelated) FindMessages(callback Base, messageIDList string) {
go func() {
var c []string
Expand Down
1 change: 0 additions & 1 deletion open_im_sdk/ws_wrapper/open_im_sdk_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ func main() {
ws_local_server.InitServer(&open_im_sdk.IMConfig{IpApiAddr: *openIMApiAddress,
IpWsAddr: *openIMWsAddress, Platform: utils.OSXPlatformID, DbDir: "./"})
case "linux":

//sdkDBDir:= flag.String("sdk_db_dir","","openIMSDK initialization path")
ws_local_server.InitServer(&open_im_sdk.IMConfig{IpApiAddr: "http://" + utils.ServerIP + ":" + utils.IntToString(*openIMApiPort),
IpWsAddr: "ws://" + utils.ServerIP + ":" + utils.IntToString(*openIMWsPort), Platform: utils.WebPlatformID, DbDir: "../db/sdk/"})
Expand Down

0 comments on commit 42b6a2d

Please sign in to comment.