HomePhabricator
Diffusion Comm 3abe5815d3da

[lib] Always initialize messageStore.messages with startReached: false

Description

[lib] Always initialize messageStore.messages with startReached: false

Summary:
More details in this Linear comment.

It's always safer to initialize with startReached: false. An erroneous startReached: false is always resolved when the keyserver responds that there are indeed no older messages, but an erroneous startReached: true can't really be resolved.

This code should typically not be triggered, since freshMessageStore is supposed to make sure that there is an entry in messageStore.threads for every entry in threadStore, and freshMessageStore correctly initializes startReached to false.

However, there are many things that can cause a thread to appear spontaneously, eg. the state check mechanism, or potentially a redux-persist issue as discussed in ENG-957 and ENG-1821. So we want to make sure we handle this correctly going forward.

Test Plan: To be honest, this one is hard to test. I think the change is safe

Reviewers: atul

Reviewed By: atul

Subscribers: tomek, abosh

Differential Revision: https://phab.comm.dev/D5492

Details

Provenance
ashoatAuthored on Oct 27 2022, 6:58 AM
Reviewer
atul
Differential Revision
D5492: [lib] Always initialize messageStore.messages with startReached: false
Parents
rCOMM378c4da22d30: [native] Trigger NodeHeightMeasurer when font scale changes
Branches
Unknown
Tags
Unknown