Reusing the same logic as for DMs, with one change: for DMs, we want to send an update only when the thread was previously unread to avoid sending too many DM ops (which are encrypted and heavy). For Farcaster, I decided to send activity regardless of the previous state for two reasons:
- Farcaster API is doing the same. Maybe it has a purpose on their backend, so I think it is safer to match the behaviour.
- When opening the Farcaster thread, we fetch the thread info (D15258). This could cause a race condition when the response arrives after we set it to read, and can cause setting this as unread again, which is not great for UX. (Note that risk not exists for DM threads).
Made a note about this in ENG-10729.
Depends on D15267