HomePhabricator
Diffusion Comm cb3c103797c1

[native] Fix `CommCoreModule:createMessageStoreOperations` for…

Description

[native] Fix CommCoreModule:createMessageStoreOperations for REMOVE_ALL_OPERATION

Summary:
Before, we were trying to get payload_obj by calling getProperty(rt, "payload").asObject(rt) regardless of the op type.

However, the REMOVE_ALL_OPERATION type doesn't have a payload which results in the call to getProperty(rt, "payload").asObject(rt) crashing the app.

We weren't using the REMOVE_ALL_OPERATION anywhere before, but we are using it in redux migration 31 ("flipping on SQLite messageStore persistence") which is where the issue was surfaced.

Test Plan: Ran redux migration 31 in my local dev environment and everything worked as expected. Set breakpoints in the C++ code to verify that things were as expected all along the way from the call to global.CommCoreModule.processMessageStoreOperationsSync(...).

Reviewers: def-au1t, palys-swm, marcinwasowicz, ashoat

Reviewed By: ashoat

Subscribers: marcinwasowicz, ashoat, Adrian, yayabosh

Differential Revision: https://phabricator.ashoat.com/D4169