OptionalapplyRealtime only: put new items straight at the top of the column. Resolves
to how many were added, or null when this column can't (it then falls
back to checkForNew() and the "new" pill).
Resolves to how many items showNew() would add or move to the top.
OptionalcontrolsOptionalonRealtime: react to an event from the public or the member's channel. Every column should, so that it updates without polling; the payload usually holds enough to update directly. Without this, the column is checked whenever a discussion is started or a reply posted.
OptionalpruneTake out items the store already shows no longer belong, such as a discussion just read, in Unread. Some changes send no realtime event, reading among them, so this runs when the deck is shown again and before every check.
OptionalstartCalled while the column is on screen, and again whenever realtime reconnects, so must be safe to repeat. For sources with their own feed.
Optionalstop
The live half of a column. A source owns its data and must never change what is on screen from
checkForNew(): new activity waits behind the column's "new" pill until the member asks for it withshowNew().