Revision Date Author Comments
# efd75dec 16-Aug-2021 Tomasz Sapeta <[email protected]>

[ios] Migrate all remaining native code


# 0468182d 24-Jun-2020 James Ide <[email protected]>

[ios14] Get the app store client compiling & running on iOS 14 (#8938)

The main compiler-breaking change was the addition of a new notification option ("ephemeral notifications" for App Clips) that

[ios14] Get the app store client compiling & running on iOS 14 (#8938)

The main compiler-breaking change was the addition of a new notification option ("ephemeral notifications" for App Clips) that we needed to declare in a switch-case statement. Also left some comments for where we want to use some new enum values that replace alerts.

# Test Plan
The app compiles for iOS 14 with Xcode 12 beta. I needed to run it twice -- the first time it got stuck on the launch screen with the spinner -- and was able to log into my account and load published NCL. Images don't show up.

show more ...


# bfb365de 22-May-2020 Łukasz Kosmaty <[email protected]>

[expo-notification][ios] Add ScopedNotificationPresentationModule (#8386)

* [expo-notification][ios] Add ScopedNotificationPresentationModule

* [expo-notification] Pass to block only experienceId


# 347b872b 30-Mar-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Resolve presentNotificationAsync with the notification identifier


# d7188e77 30-Mar-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Deprecate `presentNotificationAsync` (#7497)

# Why

On iOS, calling `presentNotificationAsync` internally does `addNotificationRequest:` with a `nil` trigger, which makes the

[expo-notifications] Deprecate `presentNotificationAsync` (#7497)

# Why

On iOS, calling `presentNotificationAsync` internally does `addNotificationRequest:` with a `nil` trigger, which makes the notification request go all around and eg. trigger `willPresentNotification:`, etc.

Thanks to a flexible architecture we can support presenting the notification, but it feels like allowing the developers not to set a notification handler which is highly encouraged (instead of relying on library defaults). I have talked with Bartek and Tomasz and we've decided that deprecating `presentNotificationAsync` while presenting a smooth path one can take to migrate to the new API may be the best option for now.

# How

- added `NotificationPresentationModule` as `NotificationCenterDelegate`s listener
- `PresentationModule` holds a counted set of notification identifiers, if an identifier of the to-be-presented notification is in that set, the notification will be presented with all the presentation options
- deprecated `presentNotificationAsync` by showing a warning message once per application run (when `__DEV__` is `true`). The warning message contains a link redirecting to https://github.com/expo/fyi/pull/2

# Test Plan

`presentNotificationAsync` presents the notification even if there is no `setNotificationHandler` set.

show more ...


# 98ad892a 27-Mar-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Add a getPresentedNotificationsAsync method (#7494)

# Why

I thought we would have to implement this all ourselves on Android, but then yesterday I noticed that actually Andro

[expo-notifications] Add a getPresentedNotificationsAsync method (#7494)

# Why

I thought we would have to implement this all ourselves on Android, but then yesterday I noticed that actually Android exposes a `getActiveNotifications()` method which we could use to expose this functionality.

# How

First I implemented required parts in the _native-native_ Android part of `expo-notifications` — added an appropriate _task request_ to `BaseNotificationsService` and implemented appropriate function in `ExpoNotificationsService`.

All that was left to do was just to bind React Native module layer to native parts.

During the testing phase I noticed that even though in theory I could add `NotificationRequest` to `Notification`'s extras (as it is `Parcelable`), in practice the class loader used when unmarshalling notification's extras wasn't able to find the `NotificationRequest` class. I worked around it by marshalling and unmarshalling the request myself.

# Test Plan

The `test-suite` passes on both platforms.

show more ...


# 03034614 09-Mar-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Notification dismissal (#7284)

# Why

Current API allows this.

# How

- added support for dismissing notifications to the Android notification service
- added simple exp

[expo-notifications] Notification dismissal (#7284)

# Why

Current API allows this.

# How

- added support for dismissing notifications to the Android notification service
- added simple exported methods to notification presentation modules
- exported JS methods

In a separate pull request, in the future we could also implement `getDeliveredNotifications` since it is exposed by iOS and we could implement it on Android too by:

- persisting which notifications have been presented
- setting `deleteIntent` to an intent that will notify the service of the dismissal
- responding to `ACTION_MY_PACKAGE_REPLACED` — dismissing notifications — that's what Android does when the app is installed (would have to check if it's true in production mode too)

# Test Plan

Added a ~smoke test to `test-suite` which passes on both platforms.

show more ...


# 56128cf9 18-Feb-2020 Stanisław Chmiela <[email protected]>

[expo-notifications] Presenting notifications (#6932)

# Why

Another feature for `expo-notifications`.

# How

On top of `@sjchmiela/expo-notifications-building-notifications`:
- added _prese

[expo-notifications] Presenting notifications (#6932)

# Why

Another feature for `expo-notifications`.

# How

On top of `@sjchmiela/expo-notifications-building-notifications`:
- added _presenter_ modules, which basically just pass in an object-y request to builders

# Test Plan

Added the most adorable tests I've ever seen:

![File](https://user-images.githubusercontent.com/1151041/73553833-e34d8b00-444a-11ea-9abc-085faccdd3ad.jpg)

![Screenshot_20200131-165736](https://user-images.githubusercontent.com/1151041/73553840-e6487b80-444a-11ea-9aab-db7ae1ec052b.png)

show more ...