[lib] Save unsupported operations in the DB
Summary:
The unsupported operations aren't saved in Redux, but it's still beneficial to use the same approach because it's more consistent, allows easier modification in the future (if we decide to keep all the operations in the DB, and avoids introducing a new mechanism.
Depends on D14453
Test Plan:
Tested the whole stack on both native and web:
- Run the app on Redux version 86 with a modification to processDMOperation making all the INBOUND messages unsupported
- On one platform created a thread and sent a text message. These were visible on the sender, and invisible on the recipient
- Closed the recipient and added a migration that unshimms the thread creation operations, e.g.
unshimDMOperations( state, dmOperationTypes.CREATE_THREAD, handleReduxMigrationFailure, ): MigrationFunction<WebNavInfo, AppState>),
- Run the recipient and noticed the thread appearing
- Added another migration, this time unshimming text messages
- Run the recipient and noticed messages appearing
Reviewers: kamil, bartek
Reviewed By: kamil
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D14454