Skip to content

Releases: sendbird/sendbird-chat-sdk-ios

v4.1.0

14 Oct 11:08
Compare
Choose a tag to compare

Features

Polls

Polls is released 🎉 Here’s where we think it will be really powerful.

  • Collect feedback and customer satisfaction
  • Drive engagement by receiving participants in preferences
  • Run surveys and quiz shows
  • And many more!

Scheduled messages

Scheduled messages is released Here’s where we think it will be really useful.

  • Let your users queue their messages for the future
  • Set helpful reminders and notifications to nudge certain actions
  • And many more!

Improvements

Please note that both Polls and Scheduled Messages are released as beta features. Thus specific parameters and properties may change to improve client’s overall experience.

Stay tuned for updates as we are rolling out more exciting features and see below for exact specifications


Specification

Polls

  • Create
    • Poll.create(params: PollCreateParams, completionHandler: @escaping PollHandler)
    • UserMessageCreateParams.pollId
  • Read
    • Poll.get(params: PollRetrievalParams, completionHandler: @escaping PollHandler)
    • SendbirdChat.createPollListQuery(params: PollListQueryParams)
    • SendbirdChat.createPollListQuery(paramsBuilder: (PollListQueryParams) -> Void)
    • GroupChannel.createPollListQuery(limit: UInt)
    • UserMessage.poll
  • Update
    • GroupChannel.updatePoll(pollId: Int64, params: PollUpdateParams, completionHandler: PollHandler?)
    • GroupChannel.closePoll(pollId: Int64, completionHandler: PollHandler?)
  • Delete
    • GroupChannel.deletePoll(pollId: Int64, completionHandler: SBErrorHandler?)
  • Others:
    • Poll
    • GroupChannel.getPollChangeLogs(token: String?, completionHandler: PollChangeLogsHandler?)()
    • GroupChannel.getPollChangeLogs(timestamp: Int64, completionHandler: PollChangeLogsHandler?)()
    • PollData
    • GroupChannelDelegate.channel(_ channel: GroupChannel, didUpdatePoll event: PollUpdateEvent)
    • GroupChannelDelegate.channel(_ channel: GroupChannel, didVotePoll event: PollVoteEvent)
    • GroupChannelDelegate.channel(_ channel: GroupChannel, pollWasDeleted pollId: Int64)

Options

  • Create
    • PollCreateParams.optionTexts
    • GroupChannel.addPollOption(pollId: Int64, optionText: String, completionHandler: PollHandler?)
  • Read
    • PollOption.getPollOption(params: PollOptionRetrievalParams, completionHandler: @escaping PollOptionHandler)
    • SendbirdChat.createPollVoterListQuery(params: PollVoterListQueryParams)
    • SendbirdChat.createPollVoterListQuery(paramsBuilder: (PollVoterListQueryParams) -> Void)
    • GroupChannel.createPollVoterListQuery(pollId: Int64, pollOptionId: Int64, limit: UInt)
  • Update
    • GroupChannel.updatePollOption(pollId: Int64, pollOptionId: Int64, optionText: String, completionHandler: PollHandler?)
    • GroupChannel.votePoll(pollId: Int64, pollOptionIds: [Int64], completionHandler: PollVoteEventHandler)
  • Delete
    • GroupChannel.deletePollOption(pollId: Int64, pollOptionId: Int64, completionHandler: SBErrorHandler?)
  • Others:
    • PollOption
    • PollStatus
    • PollVoteEvent
    • PollUpdateEvent
    • CollectionEventSource.eventPollUpdated
    • CollectionEventSource.eventPollVoted
    • CollectionEventSource.eventPollChangeLog

Scheduled Messages

  • Create
    • GroupChannel.createScheduledUserMessage()
    • GroupChannel.createScheduledFileMessage()
  • Read
    • ScheduledMessageListQuery
    • BaseMessage.getScheduledMessage()
      • ScheduledMessageRetrievalParams
  • Update
    • GroupChannel.updateScheduledUserMessage()
    • GroupChannel.updateScheduledFileMessage()
  • Delete
    • GroupChannel.cancelScheduledMessage()
  • Others
    • ScheduledInfo
    • MessageSendingStatus.scheduled
    • BaseMessage.scheduledInfo
    • SendbirdChat.getTotalScheduledMessageCount()
      • TotalScheduledMessageCountParams

v4.0.15

12 Oct 12:13
Compare
Choose a tag to compare
  • Added public make(_ json:) interface
  • Added synchronous initialize for SendbirdChat
  • Removed unused keys from body of MarkAsDelivered request

v4.0.14

28 Sep 08:42
Compare
Choose a tag to compare

4.0.14 (Sep 28, 2022)

  • Added nicknameStartsWithFilter, nicknameExactMatchFilter feature in GroupChannelListQuery and its params
  • Implemented history of channel membership where clients can now track whether users have joined or left the channel (MemberState.left for left members of a GroupChannel)
  • Resolved priority inversion warning
  • Fixed a crash when a large file is sent in the FILE message

v4.0.13

16 Sep 05:02
Compare
Choose a tag to compare
  • Fixed crash issue when using SendbirdChat.add(_:identifier)

v4.0.12

14 Sep 06:04
Compare
Choose a tag to compare
  • Added metaData related logic for filtering in GroupChannelListQuery.belongsTo
  • Renamed methods in SendbirdChat
    • add(_ delegate: ConnectionDelegate, identifier: String) -> addConnectionDelegate(_ delegate: ConnectionDelegate, identifier: String)
    • add(_ delegate: BaseChannelDelegate, identifier: String) -> addChannelDelegate(_ delegate: BaseChannelDelegate, identifier: String)
    • add(_ delegate: UserEventDelegate, identifier: String) -> addUserEventDelegate(_ delegate: UserEventDelegate, identifier: String)

v4.0.11

02 Sep 02:00
Compare
Choose a tag to compare
  • Fixed a bug where a dirty flag of a group channel is handled improperly

v4.0.10

31 Aug 06:54
Compare
Choose a tag to compare
  • Added MessageSearchQuery's totalCount and made it public
  • Fixed memory problem when continuously sending large files
  • Changed the keywords of the classes and functions below from public to open (subclassing)

User, BaseChannel, GroupChannel, OpenChannel, BaseCollection, GroupChannelCollection, BaseMessage, UserMessage, FileMessage, AdminMessage

Note: However, subclassing is not recommended, and please be aware that any issue that arises from subclassing will take substantially longer time to react

v4.0.9

17 Aug 12:12
Compare
Choose a tag to compare

4.0.9 (Aug 17, 2022)

  • Added shouldRemoveOperatorStatus function
  • Updated copyMessage function to only duplicate successfully sent message. Copying any non-successful message will now return an invalidParameter error
  • Fixed concurrency issues
  • Fixed WS connection being lost after switching from wifi to LTE
  • Fixed OpenChannel not updating channel’s changed information
  • Fixed a copied fileMessage’s image not being shown

v4.0.8

19 Jul 07:08
Compare
Choose a tag to compare
  • Fixed auto-resend issue in offline write

v4.0.7

14 Jul 08:21
Compare
Choose a tag to compare
  • Fixed a bug that serializing pending messages causes a crash on iOS 12 or lower