Broadcast messages set to start in the future won't be displayed
This is the result of us caching the broadcast messages indefinitely, instead of only for 1 minute. This is because when the cache is populated the newly created message is not returned by the underlying query, thus we cache an empty list.
A relatively simple way of dealing with this would be the following:
When we populate the cache we also check for any broadcast messages set to appear in the future. If there are any we won't cache anything. If there are no future messages we do cache. This ensures that in most cases we still don't have to hit the database, and we can display future data at the cost of running a query until that data has to be displayed.