Page MenuHomePhabricator

[lib][native][web] Ignore showInMessagePreview if no messages found
ClosedPublic

Authored by ashoat on Wed, Oct 30, 11:48 AM.
Tags
None
Referenced Files
F3352598: D13830.id45480.diff
Sat, Nov 23, 6:32 AM
Unknown Object (File)
Thu, Nov 21, 8:23 PM
Unknown Object (File)
Thu, Nov 21, 2:20 PM
Unknown Object (File)
Thu, Nov 21, 8:58 AM
Unknown Object (File)
Mon, Nov 11, 5:50 PM
Unknown Object (File)
Mon, Nov 11, 3:16 PM
Unknown Object (File)
Mon, Nov 11, 7:18 AM
Unknown Object (File)
Sun, Nov 10, 8:46 AM
Subscribers
None

Details

Summary

This diff does two things:

  1. Updates useGetMessageInfoForPreview so that it falls back to the old behavior if it fails to find a message to preview that passes showInMessagePreview. This allows us to avoid showing "No messages". This is "Potential solution 2" described on Linear here.
  2. Updates useGetMessageInfoForPreview to also return shouldFetchOlderMessages, a flag that indicates to the caller if the fallback described above occurred. This will allow us to implement "Potential solution 3" from the Linear comment linked above.
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

tomek added inline comments.
lib/hooks/message-hooks.js
79

We could avoid iterating again by saving the first present message to a variable in the previous loop.

This revision is now accepted and ready to land.Thu, Oct 31, 6:12 AM
lib/hooks/message-hooks.js
79

Good suggestion – this actually significantly simplies the return here

Avoid unnecessary second pass

This revision was landed with ongoing or failed builds.Thu, Oct 31, 11:38 AM
This revision was automatically updated to reflect the committed changes.