diff --git a/lib/types/message-types.js b/lib/types/message-types.js --- a/lib/types/message-types.js +++ b/lib/types/message-types.js @@ -399,6 +399,16 @@ +type: 'remove_all', }; +// We were initially using `number`s` for `thread`, `type`, `future_type`, etc. +// However, we ended up changing `thread` to `string` to account for thread IDs +// including information about the keyserver (eg 'GENESIS|123') in the future. +// +// At that point we discussed whether we should switch the remaining `number` +// fields to `string`s for consistency and flexibility. We researched whether +// there was any performance cost to using `string`s instead of `number`s and +// found the differences to be negligible. We also concluded using `string`s +// may be safer after considering `jsi::Number` and the various C++ number +// representations on the CommCoreModule side. export type ClientDBMessageInfo = { +id: string, +local_id: ?string,