iOS icon indicating copy to clipboard operation
iOS copied to clipboard

Remote Messaging Framework for macOS

Open ayoy opened this issue 1 year ago • 1 comments

Task/Issue URL: https://app.asana.com/0/72649045549333/1202913520695928/f CC: @amddg44 @samsymons

Description: This change adjusts RMF implementation to updates in BSK that add support for RMF on macOS.

  • RMF is now controlled by a feature flag, enabled by default on iOS.
  • Remote messaging config matcher creation has been moved into a standalone provider class that is otherwise separated from the RMF client.
  • RemoteMessagingClient now implements a protocol from BSK that provides implementation for fetching and processing the config. The API is not static and the instance of the client is owned by AppDelegate.
  • RemoteMessagingStore and HomePageConfiguration were moved out of AppDependencyProvider to have better control over their instantiation time and to allow for dependency injection.

Steps to test this PR:

  1. In RemoteMessagingClient.swift, update endpoint to return https://www.jsonblob.com/api/1258315611053613056 for debug builds.
  2. Delete the app from simulator/device to ensure app data is gone
  3. Run the app and complete onboarding.
  4. After the onboarding, open new tab page
  5. Verify that you see "Message 1: Placeholder Title" message.
  6. Don't dismiss the message and restart the app.
  7. Verify that you see "Message 1: Placeholder Title" message again. Dismiss the message and restart the app.
  8. Verify that you see "Message 2: Placeholder Title" message.
  9. Dismiss the message and restart the app 3 more times, verify that on each subsequent run you're seeing message 3, 4 and 5. After dismissing message 5 and restarting the app, no message should be shown.

Definition of Done (Internal Only):

Copy Testing:

  • [ ] Use of correct apostrophes in new copy, ie rather than '

Orientation Testing:

  • [ ] Portrait
  • [ ] Landscape

Device Testing:

  • [ ] iPhone SE (1st Gen)
  • [ ] iPhone 8
  • [ ] iPhone X
  • [ ] iPhone 14 Pro
  • [ ] iPad

OS Testing:

  • [ ] iOS 15
  • [ ] iOS 16
  • [ ] iOS 17

Theme Testing:

  • [ ] Light theme
  • [ ] Dark theme

Internal references:

Software Engineering Expectations Technical Design Template

ayoy avatar Jul 03 '24 15:07 ayoy

Warnings
:warning: PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by :no_entry_sign: dangerJS against 1ef7733dc8a939571abed48b5c00a88c4ad530f1

github-actions[bot] avatar Jul 04 '24 07:07 github-actions[bot]