You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Motivation
----
The current implementation couples a bunch of shared logic/interfaces to
the main messaging implementation in `OSK.Messages.Messaging`. While
this works, it's not ideal for projects that don't necessarily need or
want to add a dependency on the core implementation for OSK (i.e.
courier integrations, recipient-only libraries, etc.) where the core
logic would add extra cruft that isn't required for the project.
Modifications
----
* Moved the main interfaces and data structures related to the Courier
and Message Recipient integrations into the abstraction layer, so the
core implementation for messaging can be ignored when not needed
* Refactored the system to drop the requirement of message <T> types for
the interfaces and instead use generic non-typed interfaces/data
structures for the integration and usage of the library. Only when
messages are sent will <T> types be used
Result
----
The library is a bit easier to integrate with in certain scenarios not
requiring the usage of the main message implementation
Fixes #5