Skip to content
This repository was archived by the owner on Apr 30, 2024. It is now read-only.

Releases: nabla/nabla-ios

1.0.0-alpha30

20 Jan 09:53
Compare
Choose a tag to compare
1.0.0-alpha30 Pre-release
Pre-release

[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 on NablaClient.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 nullable error 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. Exposed AppointmentListDelegate and AppointmentDetailsDelegate 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

21 Dec 13:27
Compare
Choose a tag to compare
1.0.0-alpha29 Pre-release
Pre-release

[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

14 Dec 08:14
Compare
Choose a tag to compare
1.0.0-alpha28 Pre-release
Pre-release

[1.0.0-alpha28] - 2022-12-13

Changed

  • Messaging Core: Renamed createDraftConversation to startConversation. It keeps the behavior of creating the conversation lazily when the patient sends the first message.
  • Messaging Core: createConversation now has a required withMessage argument and should be used to start a conversation on behalf of the patient with a first message from them.

1.0.0-alpha27

05 Dec 11:05
Compare
Choose a tag to compare
1.0.0-alpha27 Pre-release
Pre-release

[1.0.0-alpha27] - 2022-12-05

Added

Changed

  • Removed Cancellable and ResultHandler from client interfaces.
    • watchers now return some AnyPublisher from the Combine framework.
    • other methods return only once, and leverage the new async/await feature from Swift.

⚠️ Here is an example to migrate watchers:

// 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.

⚠️ Here is an example to migrate to 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

25 Nov 10:57
Compare
Choose a tag to compare
1.0.0-alpha26 Pre-release
Pre-release

[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

24 Nov 10:23
Compare
Choose a tag to compare
1.0.0-alpha25 Pre-release
Pre-release

[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.

⚠️ This release contains a bug that affects the NablaMessagingUI ConversationList, please use 1.0.0-alpha26 or newer if you face the problem.

1.0.0-alpha24

17 Nov 13:13
Compare
Choose a tag to compare
1.0.0-alpha24 Pre-release
Pre-release

[1.0.0-alpha24] - 2022-11-17

Added

Changed

Fixed

  • Fixed NablaTheme.Colors being immutable.

1.0.0-alpha23

16 Nov 14:29
Compare
Choose a tag to compare
1.0.0-alpha23 Pre-release
Pre-release

[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 from createConversationViewController method and relied on Conversation isLocked property to hide the composer.
    ⚠️ If you were using the showComposer parameter of NablaClient.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.

⚠️ This release contains a bug that prevents NablaTheme from being modified, please use 1.0.0-alpha24 or newer if you face the problem.

1.0.0-alpha22

14 Nov 15:13
Compare
Choose a tag to compare
1.0.0-alpha22 Pre-release
Pre-release

[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 a Configuration struct instead of multiple params..
    ⚠️ This change is breaking and you will need to update all NablaClient initialize and init calls.

  • NablaTheme colors have been reworked to better support dark mode. The new colors can be found in NablaTheme.Colors.

  • NablaTheme fonts have been reworked for better consistency. The new fonts can be found in NablaTheme.Fonts.

To know more about NablaTheme, please visit our documentation: https://docs.nabla.com/docs/theming-ios

⚠️ This release contains a bug that prevents NablaTheme from being modified, please use 1.0.0-alpha24 or newer if you face the problem.

1.0.0-alpha21

03 Nov 19:34
Compare
Choose a tag to compare
1.0.0-alpha21 Pre-release
Pre-release

[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 to ConversationMessageSender.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