Releases: nabla/nabla-ios
1.0.0-alpha30
[1.0.0-alpha30] - 2023-01-19
⚠️ This release contains a bug preventing video call request messages from appearing in the chat.
This issue is fixed by release 1.0.0-alpha31.
Added
- Added an extra step in the "schedule appointment" flow to choose between remote and physical appointments.
- Added an appointment detail view accessible from the list of appointments. For physical appointments, this view displays the address of the appointment.
- You can now register your own
UniversalLinkGenerator
onNablaClient.shared.scheduling.universalLinkGenerators
to let users open addresses in other apps installed on their phone.
Changed
- Avatar view will now display a default icon image when no picture or initials are available.
- Avatar view is now exposing more customizable theme properties.
NablaTheme.AvatarView.backgroundColor
: used for the background color when someone doesn't have a profile picture.NablaTheme.AvatarView.tintColor
: used to tint the initials or the default icon of someone who doesn't have a profile picture.NablaTheme.AvatarView.defaultIcon
: displayed when we don't have the profile picture nor the initials
- Core: The
Logger
interface now has an nullableerror
property for each log level. If you implemented your own custom logger you'll have to change the methods signature to migrate. - Removed the default navigation from
NablaScheduling
views. ExposedAppointmentListDelegate
andAppointmentDetailsDelegate
instead so you can build the most adequate navigation for your app.
Fixed
- Fixes a crash when opening a conversation with a video call interactive message while
NablaVideoCallModule
is not set up. - Messaging UI: Fixed load more items animation in the conversation list view.
1.0.0-alpha29
[1.0.0-alpha29] - 2022-12-21
Added
- Enable cache persistence on disk for network calls in Messaging and Scheduling modules.
- Added NablaTheme
PrimaryButtonTheme.cornerRadius
property. - Added NablaTheme
AppointmentListViewTheme.CellTheme.cornerRadius
property. - Added NablaTheme
CategoryPickerViewTheme.CellTheme.cornerRadius
property. - Added NablaTheme
TimeSlotPickerViewTheme.CellTheme.cornerRadius
property. - Added NablaTheme
TimeSlotPickerViewTheme.CellTheme.insets
property. - Added NablaTheme
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.cornerRadius
property. - Added NablaTheme
AppointmentConfirmationTheme.headerCornerRadius
property. - Added NablaTheme
AppointmentConfirmationTheme.captionShape
property. - Added NablaTheme
Conversation.videoCallActionRequestIcon
property.
Changed
- Changed spacings between cards in the apointment list, apointment category list and time slot list.
Fixed
- Fixed some UI layout issues in the Conversation screen composer and in the Scheduling confirmation screen.
- Fixed the color of the chat's content appearing below the composer in Messaging UI module.
- Fixed a bug where some view controllers would override the global
UINavigationBar.appearance()
. - All spinners now use the
NablaTheme.Shared.loadingViewIndicatorTintColor
color. - Better support for screen sharing during video calls.
1.0.0-alpha28
[1.0.0-alpha28] - 2022-12-13
Changed
- Messaging Core: Renamed
createDraftConversation
tostartConversation
. It keeps the behavior of creating the conversation lazily when the patient sends the first message. - Messaging Core:
createConversation
now has a requiredwithMessage
argument and should be used to start a conversation on behalf of the patient with a first message from them.
1.0.0-alpha27
[1.0.0-alpha27] - 2022-12-05
Added
Changed
- Removed
Cancellable
andResultHandler
from client interfaces.- watchers now return some
AnyPublisher
from theCombine
framework. - other methods return only once, and leverage the new
async
/await
feature from Swift.
- watchers now return some
// Before
private var watcher: Cancellable?
private func startWatching() {
watcher = client.watchConversations(handler: { [weak self] result in
// Do something with result
})
}
// After
import Combine
private var watcher: AnyCancellable?
private func startWatching() {
watcher = client.watchConversations()
.sink(receiveValue: { conversations in
// Do something with conversations
})
}
You can use sink(receiveCompletion:receiveValue:)
to catch errors. See https://developer.apple.com/documentation/combine/receiving-and-handling-events-with-combine for more details.
async
/await
:
// Before
NablaMessagingClient.shared.markConversationAsSeen(handler: { [weak self] result in
// Do something with result
})
// After
Task(priority: .userInitiated) {
do {
try await NablaMessagingClient.shared.markConversationAsSeen(conversationId)
} catch {
// Do something with error
}
}
To learn more about async
, await
and Task
: https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html.
Fixed
- Fixed an issue preventing the watchers from automatically fetching new data after connectivity is restored.
1.0.0-alpha26
[1.0.0-alpha26] - 2022-11-25
Added
Changed
Fixed
- Fixed a bug causing the conversation list to be visible under the tab bar and the navigation bar.
- Fixed a crash that could happen if an emoji is used in appointment consents in Scheduling module.
1.0.0-alpha25
[1.0.0-alpha25] - 2022-11-24
Added
- Added an empty state when the conversation list is empty. You can customize this text appearance using
Theme.ConversationPreview.EmptyView
attributes.
Changed
- Added a "play" indicator on videos on iOS 16 since the default one has been removed by the system update.
- The full screen image and document viewers in conversation screen are now presented modally with customizable theming.
Fixed
- Fixed an infinite loop that could happen when
SessionTokenProvider
was returning badly formatted tokens. - Fixed a layout issue in the conversation screen that happens when a conversation is unlocked while displayed on screen.
1.0.0-alpha24
[1.0.0-alpha24] - 2022-11-17
Added
Changed
Fixed
- Fixed NablaTheme.Colors being immutable.
1.0.0-alpha23
[1.0.0-alpha23] - 2022-11-16
Added
- Reporting: Add an ErrorReporter to report anonymous events to nabla servers to help debug some features like video calls.
Changed
- Removed the
showComposer
parameter fromcreateConversationViewController
method and relied onConversation
isLocked
property to hide the composer.
⚠️ If you were using theshowComposer
parameter ofNablaClient.shared.messaging.views.createConversationViewController
, it is not available anymore and you should migrate to using lock conversation from the Console.
Fixed
- Fixed an issue in video calls where the Provider's video could sometime not be displayed.
1.0.0-alpha22
[1.0.0-alpha22] - 2022-11-14
Added
- Support for dynamic consents in Scheduling module that you can customize from the console.
Changed
-
The
NablaClient.initialize
method now takes aConfiguration
struct instead of multiple params..
⚠️ This change is breaking and you will need to update allNablaClient
initialize
andinit
calls. -
NablaTheme
colors have been reworked to better support dark mode. The new colors can be found inNablaTheme.Colors
. -
NablaTheme
fonts have been reworked for better consistency. The new fonts can be found inNablaTheme.Fonts
.
To know more about NablaTheme
, please visit our documentation: https://docs.nabla.com/docs/theming-ios
1.0.0-alpha21
[1.0.0-alpha21] - 2022-11-03
Added
- Added the option to scan a document in conversation screen.
- Added missing NablaTheme properties to customize the video calls action requests in MessagingUI.
- Introduced
ConversationViewControllerDelegate
to control taps on the conversation screen's title view. - A new
ConversationMessageSender.patient(Patient)
was introduced for conversations with multiple patients. - New attributes (
messageOtherBackgroundColor
,textMessageOtherTextColor
,documentMessageOtherTitleColor
,audioMessageOtherTitleColor
,replyToOtherSeparatorColor
) have been added to customize how other patient and system messages appear in the conversation on our Messaging UI module.
Changed
- Updated the cell layout for ended video calls action requests in MessagingUI.
ConversationMessageSender.patient
was renamed toConversationMessageSender.me
.- Improved the appearance of the "send message" button.
Fixed
- Fix an issue that could lead to messages having the wrong size in the conversation screen of the Messaging UI module
- Fix an issue where the spinner when loading more messages in the conversation screen of the Messagging UI module would not be at the correct position
- Remove any color under the avatar picture of a Provider in case the picture has transparency