Page MenuHomePhabricator

[lib] Fetch older messages when showInMessagePreview rejects messages in local store
Needs ReviewPublic

Authored by ashoat on Wed, Oct 30, 11:49 AM.
Tags
None
Referenced Files
F3105310: D13831.id45481.diff
Wed, Oct 30, 10:18 PM
F3105127: D13831.diff
Wed, Oct 30, 8:25 PM
F3104467: D13831.id45481.diff
Wed, Oct 30, 5:18 PM
F3104436: D13831.id.diff
Wed, Oct 30, 5:18 PM
F3104395: D13831.diff
Wed, Oct 30, 5:16 PM
Subscribers
None

Details

Reviewers
tomek
Summary

This diff implements "Potential solution 3" described on Linear here.

Depends on D13830

Test Plan

Tested in combination with the rest of the stack:

  1. Make sure membership operations (user joining / leaving) don't appear in MessagePreview
  2. Make sure reactions to the viewer's messages still appear in MessagePreview
  3. Make sure reactions to other user's messages don't appear in MessagePreview
  4. Test fresh login to thread with only one message in the last 14 days, which is a reaction to a non-viewer message. Make sure the reaction initially appears in MessagePreview, but then is replaced after more messages are fetched by the client

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

lib/hooks/message-hooks.js
127

I included this sleep here for two reasons:

  1. In case we need repeated fetches, I figured it would be better for performance to avoid having them all occur in rapid succession.
  2. There may be some delay between when the call resolves and when the Redux store is updated. Ideally we would watch the Redux store and flip setCanFetchOlderMessages when the new messages come in, but that would be rather complicated.