Skip to content

WIP Jwt app startup #1467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 13 commits into from
Closed

WIP Jwt app startup #1467

wants to merge 13 commits into from

Conversation

nan-li
Copy link
Contributor

@nan-li nan-li commented Aug 5, 2024

Super WIP 100% WIP does not run

Description

One Line Summary

REQUIRED - Very short description that summaries the changes in this PR.

Details

Motivation

REQUIRED - Why is this code change being made? Or what is the goal of this PR? Examples: Fixes a specific bug, provides additional logging to debug future issues, feature to allow X.

Scope

RECOMMEND - OPTIONAL - What is intended to be effected. What is known not to change. Example: Notifications are grouped when parameter X is set, not enabled by default.

OPTIONAL - Other

OPTIONAL - Feel free to add any other sections or sub-sections that can explain your PR better.

Testing

Unit testing

OPTIONAL - Explain unit tests added, if not clear in the code.

Manual testing

RECOMMEND - OPTIONAL - Explain what scenarios were tested and the environment.
Example: Tested opening a notification while the app was foregrounded, app build with Android Studio 2020.3 with a fresh install of the OneSignal example app on a Pixel 6 with Android 12.

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

This change is Reviewable

nan-li added 13 commits August 4, 2024 10:45
* Add text fields and buttons for testing
* remove app clips
* Make OSUserJwtConfig object to handle auth status etc
* User manager owns an instance of the JWT Config
* User request instances already have a `prepareForExecution()` method that indicates if this request can be sent yet. For example, does the onesignal ID exist to make this request.
* Add additional helpers to work with auth status / JWT
Definitely WIP everything is WIp
* User request instances already have a `prepareForExecution()` method that indicates if this request can be sent yet. For example, does the onesignal ID exist to make this request.
* Use this existing method to check for auth and block sending this request if auth is required but invalid, or auth is unknown, etc.
* Remove any call to `prepareForExecution()` within `init` in order to set the path, this is unnecessary

* OSRequestCreateUser
* OSRequestAddAliases
* OSRequestFetchUser
* OSRequestFetchIdentityBySubscription
* OSRequestCreateSubscription
* OSRequestDeleteSubscription
@@ -148,7 +148,7 @@ public class OneSignalUserManagerImpl: NSObject, OneSignalUserManager {
propertiesModel: OSPropertiesModel(changeNotifier: OSEventProducer()),
pushSubscriptionModel: OSSubscriptionModel(type: .push, address: nil, subscriptionId: nil, reachable: false, isDisabled: true, changeNotifier: OSEventProducer()))

@objc public var requiresUserAuth = false
var jwtConfig = OSUserJwtConfig()
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inject into init of user manager for testing mock, DI pattern

Base automatically changed from tests_fix_flaky_tests to main August 6, 2024 17:28
@nan-li
Copy link
Contributor Author

nan-li commented Aug 22, 2024

Closing for update PR #1473

@nan-li nan-li closed this Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant