Moved all injections to the presentation request so that 1. we don't spend so much time switching actors, and 2. we can test the whole presentation pipeline easily.
Each pipeline operator is fully tested.
Confirm assignments is only called when in a holdout (for a non-subscribed user) or when a paywall is just about to show (even if they're subscribed).
Fixes for the debugger so it doesn't track any occurrences when presenting a paywall.
Updated Changelog
Changes tintColor of alert controller in debugger from brand green to black as it was difficult to see.
When presenting, the state publisher was sometimes returning state on a non-main thread. Added a receive(on:) call such that downstream subscribers always receive state updates on the main thread.
Checklist
[ ] All tests pass. Demo project builds and runs.
[x] I added tests, an experiment, or detailed why my change isn't tested.
[x] I added an entry to the CHANGELOG.md for any breaking changes, enhancements, or bug fixes.
[x] I have updated the SDK documentation as well as the online docs.
Changes in this pull request
receive(on:)
call such that downstream subscribers always receive state updates on the main thread.Checklist
CHANGELOG.md
for any breaking changes, enhancements, or bug fixes.