| #
d044143f |
| 04-Mar-2021 |
Charlie Cruzan <[email protected]> |
[notifications][ios] Scope notification identifiers (#12055)
* create method to override request IDs
* scope notification request IDs in Expo Go
* add method to Presentation header file
* r
[notifications][ios] Scope notification identifiers (#12055)
* create method to override request IDs
* scope notification request IDs in Expo Go
* add method to Presentation header file
* rename scoping methods to be more general (not just category IDs are scoped)
* only scope emitterModule, handlerModule, and presentationModule in Expo Go
show more ...
|
| #
7228d0b7 |
| 09-Feb-2021 |
Charlie Cruzan <[email protected]> |
[notifications][ios] Only scope notification categories in Expo Go (#11651)
* create service extension
* Scope category ID in client if provided
* ONLY scope categories in Expo Go
* remove
[notifications][ios] Only scope notification categories in Expo Go (#11651)
* create service extension
* Scope category ID in client if provided
* ONLY scope categories in Expo Go
* remove serviceExtensionTimeWillExpire method
* modify service entension's CFBundleDisplayName
* use '/' as delimiter to match Android
* rename CFBundleDisplayName
* escape experience ID and category ID
* remove extraneous code
* remove NSRegularExpression code
* [notifications][ios] migrate notification categories (#11789)
* extract category creation logic to separate method
* migrate '-' delimiter to '/' in Expo Go, and migrate scoped to unscoped in standalones
* escape experienceId
* extract migration logic to it's own class
* escape user-provided category ID in Expo Go
* only used EXScopedNotificationSchedulerModule in Expo Go
* move all scoping and escaping logic to EXScopedNotificationsUtils
* use EXScopedNotificationsUtils in NotificationServiceExtension
* search for substring, not regex
* move migrations from constructor to static method; only use EXScopedNotificationCategoriesModule in Expo Go
* replace replaceAllCategoryIdPrefixesMatching with renameCategoryIdentifiersWithPrefix:withBlock
* dont serialize category to create a new one; use UNNotification API directly
* use backslash escaping instead of URL encoding
* add todo to remove in SDK 47
* add back comment
* rename some vars, fix indent
* only escape & unescape forward slash
* use '//' as delimiter
* use '/' as delimiter, use regex
* move legacy scope-checking logic to EXScopedNotificationsUtils
* only replace legacy scope if anchored to beginning of string
* add changelog entry
* Update ios/Exponent/Versioned/Core/UniversalModules/EXNotifications/EXScopedNotificationsUtils.m
Co-authored-by: James Ide <[email protected]>
Co-authored-by: James Ide <[email protected]>
show more ...
|
| #
69c8b63f |
| 01-Oct-2020 |
Stanisław Chmiela <[email protected]> |
[expo-notifications] Unify data payload across platforms (#10453)
# Why
Follow up to https://github.com/expo/expo/pull/9164, fixes https://github.com/expo/expo/issues/10070, supersedes https://gi
[expo-notifications] Unify data payload across platforms (#10453)
# Why
Follow up to https://github.com/expo/expo/pull/9164, fixes https://github.com/expo/expo/issues/10070, supersedes https://github.com/expo/expo/pull/10071.
# How
Looked at the payload from the developer's perspective and made it so that `content.data` means exactly the same on both platforms (i.e. `body` object from the native `data`/`payload`, coincidentally used by Expo notification services to provide notification data).
Not to lose inner details of the notifications I have added a new `payload` field to `PushNotificationTrigger` allowing developers to look inside the untouched payload.
# Test Plan
Added tests to `test-suite`!
show more ...
|
| #
f6562485 |
| 28-Jul-2020 |
Charlie Cruzan <[email protected]> |
[expo-notifications] feat: add notification categories (interactive notifications) (#9015)
* ios implementation
* add getCategoriesAsync method
* change type and method names based on architec
[expo-notifications] feat: add notification categories (interactive notifications) (#9015)
* ios implementation
* add getCategoriesAsync method
* change type and method names based on architecture proposal
* add android boilerplate code
* Correct typescript layer according to architecture proposal
* first pass at tests
* return category after creating it, and clean up parsing code
* get iOS tests passing
* [ios] add remaining native options functionality
* finalize tests for iOS
* beginning of android implementation
* [android] implement action button feature
* fix remote notification category handling
* support 'options' argument for notification action
* make some changes to follow new additions to architecture proposal
* [android] add functionality for actions that don't foreground the app
* serialize options so they are returned in an object
* change doNotOpenInForeground to opensAppToForeground
* [android] text reply actions functionality
* [android] pass along user text response with notification
* clean up categoryAwareBuilder
* rebase master, re-'yarn build'
* cleanup iOS
* [android] fix test suite tests
* docs and changelog
* fix typescript typo and rebuild
* update readme
* reformat java code
* rename some java variables
* address iOS feedback
* address remaining pieces of android feedback
* fix client build
* docs, readme, and changelog updates
* improve tests, test feedback
* extract interface, create .native and .web files, and the rest of TS feedback
* optimize all java imports
* [ios] add scoped notification categories
* [ios] remove scope prefix from serialized notification in client
* [ios] left this out of previous commit
* serialize category identifer on android
* [android] scope notification categories in android expo client
* fix spelling mistake
* [expo client] run pod install
* Apply suggestions from code review
Co-authored-by: Łukasz Kosmaty <[email protected]>
* add andraid NonNull handling
* [ios] scope notification serializer
* Apply suggestions from code review
fix name of category prefix remover method; spacing fixes
Co-authored-by: Łukasz Kosmaty <[email protected]>
* fix reversed emitted events on iOS, and re- yarn build
* fix iOS client build
* rebuild JS
Co-authored-by: Łukasz Kosmaty <[email protected]>
show more ...
|