sendbird-chat-sdk-ios

Sendbird Chat SDK for iOS for enablement of a rich, engaging, scalable, and real-time chat service.

OTHER License

Stars
20
Committers
9

Bot releases are hidden (Show)

sendbird-chat-sdk-ios - v4.6.4

Published by sendbird-sdk-deployment over 1 year ago

  • Fixed an error where the previous user's channels remained in the database
sendbird-chat-sdk-ios - v4.6.3

Published by sendbird-sdk-deployment over 1 year ago

  • Fixed a bug where a group channel collection could return duplicated channels
  • Improved local caching hit ratio
sendbird-chat-sdk-ios - v4.6.2

Published by sendbird-sdk-deployment over 1 year ago

Improvements

  • Fixed group channel collection's channelList not being updated properly after hiding a channel
  • Added ephemeral support for open channels
  • Fixed a bug where the 'Allowed domains' denies the connection from the SDK
sendbird-chat-sdk-ios - v4.6.1

Published by sendbird-sdk-deployment over 1 year ago

Improvements

  • Fixed an issue where network wouldn't properly reconnect when connect() is called again with a different user id
sendbird-chat-sdk-ios - v4.6.0

Published by sendbird-sdk-deployment over 1 year ago

Features

Set your own Local Caching DB size

You can now control the size of your local cache. Starting from 64mb, decide how much you want to store (Default: 256mb).
Once the size limit is reached, the SDK will automatically remove messages and channels with pre-specified logic (clearOrder) so that you don't have to actively manage it.

  • Added DB size related properties in LocalCacheConfig
let localCacheConfig = LocalCacheConfig()
localCacheConfig.maxSize = 256
localCacheConfig.clearOrder = .messageCollectionAccessedAt
  • Added SendbirdChat.getTotalUnreadMessageCountWithFeed(params:completionHandler:)
    • Deprecated SendbirdChat.getTotalUnreadMessageCount(params:completionHandler:)
  • Added UserEventDelegate.didUpdateTotalUnreadMessageCount(unreadMessageCount:)
    • Deprecated UserEventDelegate.didUpdateTotalUnreadMessageCount(_:totalCountByCustomType:)
sendbird-chat-sdk-ios - v4.5.3

Published by sendbird-sdk-deployment over 1 year ago

  • Fixed an issue where push notification doesn't get delivered to some users
sendbird-chat-sdk-ios - v4.5.2

Published by sendbird-sdk-deployment over 1 year ago

Features

Encrypting Local Caching

Locally saved chats in your user's device can now be encrypted with FileProtectionType.completeUnlessOpen protection level.
To enable this protection, please refer to below guide and API Reference.

Brief guide

When creating InitParams, set LocalCacheConfig.isEncryptionEnabled to true. This option is turned off by default, so you don't have to set anything up if you don't intend to use it.

let localCacheConfig = LocalCacheConfig(isEncryptionEnabled: true)
let initParams = InitParams(
    applicationId: appId,
    isLocalCachingEnabled: true,
    localCacheConfig: localCacheConfig
)
sendbird-chat-sdk-ios - v4.5.1

Published by sendbird-sdk-deployment over 1 year ago

Improvements

  • Fixed not to delete pendingPushToken after applying cache configuration
sendbird-chat-sdk-ios - v4.5.0

Published by sendbird-sdk-deployment over 1 year ago

Features

Polls in Open Channel

Polls is now supported in both Open Channels and Group Channels!

Specification

Moved following methods from GroupChannel to BaseChannel:

  • func updatePoll(pollId: Int64, params: PollUpdateParams, completionHandler: PollHandler?)
  • func deletePoll(pollId: Int64, completionHandler: SBErrorHandler?)
  • func closePoll(pollId: Int64, completionHandler: PollHandler?)
  • func addPollOption(pollId: Int64, optionText: String, completionHandler: PollHandler?)
  • func updatePollOption(pollId: Int64, pollOptionId: Int64, optionText: String, completionHandler: PollHandler?)
  • func deletePollOption(pollId: Int64, pollOptionId: Int64, completionHandler: SBErrorHandler?)
  • func votePoll(pollId: Int64, pollOptionIds: [Int64], completionHandler: PollVoteEventHandler)
  • func getPollChangeLogs(token: String?, completionHandler: PollChangeLogsHandler?)
  • func getPollChangeLogs(timestamp: Int64, completionHandler: PollChangeLogsHandler?)
  • func createPollListQuery(limit: UInt = 20) -> PollListQuery?
  • func createPollVoterListQuery(pollId: Int64, pollOptionId: Int64, limit: UInt = 20) -> PollVoterListQuery

Added the following interfaces in OpenChannelDelegate:

  • func channel(_ channel: OpenChannel, didUpdatePoll event: PollUpdateEvent)
  • func channel(_ channel: OpenChannel, didVotePoll event: PollVoteEvent)
  • func channel(_ channel: OpenChannel, pollWasDeleted pollId: Int64)

Added the following interfaces in Polls:

  • Poll.serialize()
  • Poll.build(fromSerializedData:)

Improvements

  • Fixed a bug where the size of the DB file was not being updated after disconnection
sendbird-chat-sdk-ios - v4.4.0

Published by sendbird-sdk-deployment over 1 year ago

Features

Disconnect Websocket only

When you call SendbirdChat.disconnect, it disconnects the WebSocket and clears local cache. You can think of it as logging out.

In some cases, you need to only disconnect the WebSocket. You can now do it by calling SendbirdChat.disconnectWebSocket.
It only disconnects the WebSocket and preserves the local cache.

SendbirdChat.disconnectWebSocket {
    // onDisconnected
}

To connect again after disconnecting with disconnectWebSocket(),
use SendbirdChat.connect().

SendbirdChat.connect(userId: userId) { user, error in
    if let user = user {
        // onConnected
    } else {
        // Handle error.
    }
}

Improvements

  • Fixed to prevent initializing SendbirdChat multiple times with same applicationId and isLocalCachingEnabled
sendbird-chat-sdk-ios - v4.3.2

Published by sendbird-sdk-deployment over 1 year ago

  • Fixed group channel querying with nickname filters (nicknameContainsFilter, nicknameExactMatchFilter, nicknameExactMatchFilter) to behave the same whether or not local caching is enabled
sendbird-chat-sdk-ios - v4.3.1

Published by sendbird-sdk-deployment over 1 year ago

  • Added default value for params argument in each interface:
    • BaseChannel.getMessageChangeLogs(token:params:completionHandler)
    • BaseChannel.getMessageChangeLogs(timestamp:params:completionHandler)
    • SendbirdChat.getMyGroupChannelChangeLogs(token:params:completionHandler)
    • SendbirdChat.getMyGroupChannelChangeLogs(timestamp:params:completionHandler)
  • registerDevicePushToken(_:unique:completionHandler:) passes error to completionHandler when called before SendbirdChat is initialized
  • Fix a bug that the collection's callback is not called
sendbird-chat-sdk-ios - v4.3.0

Published by sendbird-sdk-deployment over 1 year ago

Features

Participant class in Open Channel

Participant is a new interface for User who joined Open Channel. It's optimized for scalability and contains much lighter information about the User than a Member in Group Channel.
Now clients can implement Open Channels easier in SDK with more built-in capabilities. You can compare how Member, Participant, and User are different here.

  • Participant holds essential information about the participant like below. They contain their muted status (is_muted) on top of basic User information.
@objc(SBDParticipant)
public class Participant: User {

    @objc
    public internal(set) var isMuted: Bool

    @objc
    public func serialize() -> Data?

    @objc
    public class func build(fromSerializedData data: Data?) -> Self?
}
  • ParticipantListQuery.loadNextPage(completionHandler: @escaping UserListHandler) now returns [Participant]
    • For backward compatibility, the UsersHandler returns User list, but it can be casted into Participant
sendbird-chat-sdk-ios - v4.2.4

Published by sendbird-sdk-deployment over 1 year ago

Features

You can now set longer timeout value (Previously 10s) for session token expiry. (Default: 60s, Maximum: 1800s). This means that Sendbird SDK will wait longer for your new session token, making it easier for you to reconnect to our service.

  • @objc class func setSessionTokenRefreshTimeout(_ timeout: Int)

Improvements

  • Fixed bug where BaseChannelHandler.onChannelChanged and GroupChannelHandler.onPinnedMessageUpdated are not being called when the pinned message is updated
  • Fixed channelURL filter not working when fetching pendingMessage
  • Fixed wrong channels being returned in copyMessage completionHandler
sendbird-chat-sdk-ios -

Published by lookdeceline almost 2 years ago

Improvements

  • Improved database synchronization stability
sendbird-chat-sdk-ios - https://github.com/sendbird/sendbird-chat-sdk-ios/releases/tag/v4.2.2

Published by sendbird-sdk-deployment almost 2 years ago

Improvements

  • Fixed a bug where unread count of channels is not updated in time
  • Changed to ensure reachability notification is called on the main thread
sendbird-chat-sdk-ios - https://github.com/sendbird/sendbird-chat-sdk-ios/releases/tag/v4.2.1

Published by sendbird-sdk-deployment almost 2 years ago

Improvements

  • Fixed a bug where channel filters (ex: channelURLFilter) were not applied properly in GroupChannelCollection
sendbird-chat-sdk-ios -

Published by sendbird-sdk-deployment almost 2 years ago

Features

Pinned Message 📌

Pinned Message is released. You can now maintain a special set of messages (up to 10 per channel) that you want everyone in the channel to share. It can be anything from announcements, surveys, upcoming events, and any many more. Pin your messages and never miss them!
Stay tuned for updates as we are rolling out more exciting features and see below for exact specifications👇

Specification

  • Pin when sending a message
    • UserMessageCreateParams.isPinnedMessage: Bool = false
    • FileMessageCreateParams.isPinnedMessage: Bool = false
  • Pin existing message
    • GroupChannel.pinMessage(messageId:completionHandler:)
  • Unpin a message
    • GroupChannel.unpinMessage(messageId:completionHandler:)
  • Pinned messages
    • GroupChannel.lastPinnedMessage: BaseMessage? = nil
    • GroupChannel.pinnedMessageIds: [Int64]? = nil

We strongly recommend using Collections (Message, Channel) to implement Pinned Messages as it would automatically take care of numerous events out of the box when messages are created, updated, and deleted.


Improvements

  • Added use_local_cache to the request header
  • Removed internal logs
sendbird-chat-sdk-ios - https://github.com/sendbird/sendbird-chat-sdk-ios/releases/tag/v4.1.8

Published by sendbird-sdk-deployment almost 2 years ago

Improvements

  • Added urlSession(_:task:didCompleteWithError:) method implementation to the native web socket engine
sendbird-chat-sdk-ios - https://github.com/sendbird/sendbird-chat-sdk-ios/releases/tag/v4.1.7

Published by sendbird-sdk-deployment almost 2 years ago

Improvements

  • Fixed a memory leak in the web socket engine
  • Added error log when using uninitialized Sendbird instance
  • Fixed to upsert channel change into database when receiving events
  • Fixed to use cached open channel when receiving system event
Package Rankings
Top 23.38% on Swiftpackageindex.com
Badges
Extracted from project README
Platform Languages CocoaPods Carthage compatible Commercial License
Related Projects