QiscusCore-iOS

Qiscus Core Chat SDK

OTHER License

Stars
14
Committers
3

Bot releases are visible (Hide)

QiscusCore-iOS - 0.3.5 (Swift 5)

Published by ariefnurputranto over 5 years ago

  • Prevent crash in global init & block destroy helper
  • Update library QiscusRelatime for fix crash in realtime
  • Fix clear data in DB after logout
QiscusCore-iOS - 0.3.4 (Swift 5)

Published by ariefnurputranto over 5 years ago

  • Hot Fix crash subscribeEvent in some case
QiscusCore-iOS - 0.3.3 (Swift 5)

Published by ariefnurputranto over 5 years ago

[Please use 0.3.4 for the bug fix crash]

  • Improvement completion in some API,
  • Prevent crash subscribeEvent func and UnsubscribeEvent func
QiscusCore-iOS - 0.3.2 (Swift 5)

Published by ariefnurputranto over 5 years ago

  • Fix crash NSError can't cast to NSString
  • provide subscribe func
QiscusCore.shared.subcribeRooms(self.rooms)
  • provide unsubscribe func
QiscusCore.shared.unSubcribeRooms(self.rooms)
  • adding onRoomDidChangeComment event in QiscusCoreDelegate
QiscusCore-iOS - 0.2.17 (Swift 4.2)

Published by ariefnurputranto over 5 years ago

  • provide subscribe func
QiscusCore.shared.subcribeRooms(self.rooms)
  • provide unsubscribe func
QiscusCore.shared.unSubcribeRooms(self.rooms)
  • adding onRoomDidChangeComment event in QiscusCoreDelegate
QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

-Fix crash NSError can't cast to NSString
-Fix first time calling multiple in new room and got new message API

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

  • Bug fix cannot room object after calling getRoom(withChannel) at the first-time call
QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

  • Bug fix cannot room object after calling getRoom(withChannel) at the first-time call
QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

  • Support Swift5
  • Improvement user online/offline

Note:
We still support swift 4.2, you can take 0.2.x version

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

  • improvement mqtt connection
  • improvement database message
QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

-Bugfix update room
-Prevent crash when error 404

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

-improvement comment receipt
-improvement profile in local db

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

We change the mechanism again for subscribe, we hope it's can help user to easy use.
Just set QiscusCoreRoomDelegate for subscribe room, and set nil for unsubscribe

for example :

var chatRoomDelegate : QiscusCoreRoomDelegate? = nil

// set delegate in viewDidLoad or viewWillappear
override func viewDidLoad() {
        super.viewDidLoad()
        chatRoomDelegate = self
    }

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        chatRoomDelegate = nil
    }

// MARK: Core Delegate
extension YourViewController : QiscusCoreRoomDelegate {
    func didDelete(Comment comment: CommentModel) {
       //
    }

    func onRoom(update room: RoomModel) {
        // 
    }

    func gotNewComment(comment: CommentModel) {
        // 2check comment already in ui?
    }

    func didComment(comment: CommentModel, changeStatus status: CommentStatus) {
        // check comment already exist in view
    }

    func onRoom(thisParticipant user: MemberModel, isTyping typing: Bool) {
       //
    }

    func onChangeUser(_ user: MemberModel, onlineStatus status: Bool, whenTime time: Date) {
        //
    }
}

and we add method for subscribe Typing in outside room,
for example subscribe typing :

for room in rooms {
  DispatchQueue.main.asyncAfter(deadline: .now()+1, execute: {
    QiscusCore.shared.subscribeTyping(roomID: room.id) { (roomTyping) in
       if let room = QiscusCore.database.room.find(id: roomTyping.roomID){
         //update you tableView cell
       }
    }
  })
}

for example unsubscribe typing :

 QiscusCore.shared.unsubscribeTyping(roomID: roomID)

note :
*We remove public method subscribeRoom, and unSubscribeRoom, please change it like example

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

Changelog :

  • fix avatarURL in message
  • implement feature api getUsers

example :

QiscusCore.shared.getUsers(limit: 20, page: page, querySearch: nil, onSuccess: { (contacts, metaData) in
            if (metaData.currentPage != self.page){
                self.page += 1
            }
        }) { (error) in
   
        }
QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

Changelog:

  • Fix api getRoom with channel
  • Change mechanism Subscribe Room, after you load ChatRoom, please call method subscribe room

For Example :

 var chatRoomDelegate : QiscusCoreRoomDelegate? = nil

// set delegate in viewDidLoad
override func viewDidLoad() {
        super.viewDidLoad()
        chatRoomDelegate = self

        //getComment in room
        // you can implementation this in viewDidLoad or viewWillAppear
        QiscusCore.shared.getRoom(withID: _room.id, onSuccess: { [weak self] (room,comments) in
             QiscusCore.shared.subscribeRooms(rooms: [room])
             
        }) { [weak self] (error) in
             //error
        }
    }

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
         //if you want to remove subscribe, you can call this method 
         QiscusCore.shared.unsubscribeRooms(rooms: [room])
    }

// MARK: Core Delegate
extension YourViewController : QiscusCoreRoomDelegate {
    func didDelete(Comment comment: CommentModel) {
       //
    }
    
    func onRoom(update room: RoomModel) {
        // 
    }
    
    func gotNewComment(comment: CommentModel) {
        // 2check comment already in ui?
    }
    
    func didComment(comment: CommentModel, changeStatus status: CommentStatus) {
        // check comment already exist in view
    }
    
    func onRoom(thisParticipant user: MemberModel, isTyping typing: Bool) {
       //
    }
    
    func onChangeUser(_ user: MemberModel, onlineStatus status: Bool, whenTime time: Date) {
        //
    }
}

*if you don't call method subscribeRoom(), realtime in chat room is not working, like updateRoom, message status (read & deliver), user online and user typing.

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

changelog:
-update docs
-update parameter in some func like loadComment(), loadMore(), getParticipant(), and getRoom()
-improvement code

QiscusCore-iOS -

Published by ariefnurputranto over 5 years ago

ChangeLog :

  • update parameter showParticipant and showRemoved in func getRooms(withId ids), getRooms(withUniqueId ids),

for example :

QiscusCore.shared.getRooms(withId: [String], showParticipant: Bool, showRemoved: Bool, onSuccess: { (rooms) in
            print("success")
        }) { (error) in
            print("error")
        }
        
QiscusCore.shared.getRooms(withUniqueId: [String], showParticipant: Bool, showRemoved: Bool, onSuccess: { (rooms) in
            print("success")
        }) { (error) in
            print("error")
        }
  • improvement listRoom, gotNewRoom and gotNewComment
QiscusCore-iOS -

Published by ariefnurputranto almost 6 years ago

ChangeLog :

  • Fix event Room Update
  • Fix event loadRoom
  • fix server URL path
QiscusCore-iOS - Bugs Fix

Published by asharijuang almost 6 years ago

Changelogs:

  • Bugs fix when update room avatar
  • improve performa load room from local
  • Bugs fix sync and sync event
  • Delete set baseurl move to setupappid as param.
QiscusCore-iOS - New Feature

Published by asharijuang almost 6 years ago

Changelogs :

  1. Deprecate function delete for me and soft delete
  2. Delete comment from everyone and event comment deleted
  3. Bugs fix last seen
  4. Bugs fix clear message from room
  5. New event(protocol) on onRoom comment delete, and room delete
  6. Bug fix custom real-time/mqtt url(host and port)
  7. Bugs fix read and delivered