[server] Fix activityUpdater to handle threads without messages on the client
[server] Fix activityUpdater to handle threads without messages on the client

Summary:
While debugging an unrelated issue that led to clients having a thread with zero messages, I noticed some bugs in `activityUpdater`:

1. If there is no `latestMessage` `checkUnfocusedLatestMessage` will trigger an `invariant`. We don't need the `invariant` in this case... we should treat the missing `latestMessage` as being 0, which is the intention behind the nullish coalescing on [this line](https://github.com/Ashoat/squadcal/blob/master/server/src/updaters/activity-updaters.js#L95).
2. If there is no `latestMessage`, `rescindConditions` can be an empty array, which leads to an invalid `rescindCondition` being passed to `rescindPushNotifs`.

Test Plan: Make sure the bugs are gone when testing a thread that the client has no messages for

Reviewers: palys-swm

Reviewed By: palys-swm

Subscribers: KatPo, zrebcu411, Adrian

Differential Revision: https://phabricator.ashoat.com/D357

Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal