mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-09 19:05:03 -04:00
Disable calculating unread counts unless the config flag is enabled. (#13694)
This avoids doing work that will never be used (since the resulting unread counts will never be sent in a /sync response). The negative of doing this is that unread counts will be incorrect when the feature is initially enabled.
This commit is contained in:
parent
f48f4dd59e
commit
390b7ce946
4 changed files with 30 additions and 23 deletions
|
@ -67,9 +67,7 @@ class EventPushActionsStoreTestCase(HomeserverTestCase):
|
|||
|
||||
last_event_id: str
|
||||
|
||||
def _assert_counts(
|
||||
noitf_count: int, unread_count: int, highlight_count: int
|
||||
) -> None:
|
||||
def _assert_counts(noitf_count: int, highlight_count: int) -> None:
|
||||
counts = self.get_success(
|
||||
self.store.db_pool.runInteraction(
|
||||
"get-unread-counts",
|
||||
|
@ -82,7 +80,7 @@ class EventPushActionsStoreTestCase(HomeserverTestCase):
|
|||
counts,
|
||||
NotifCounts(
|
||||
notify_count=noitf_count,
|
||||
unread_count=unread_count,
|
||||
unread_count=0,
|
||||
highlight_count=highlight_count,
|
||||
),
|
||||
)
|
||||
|
@ -112,27 +110,27 @@ class EventPushActionsStoreTestCase(HomeserverTestCase):
|
|||
)
|
||||
)
|
||||
|
||||
_assert_counts(0, 0, 0)
|
||||
_assert_counts(0, 0)
|
||||
_create_event()
|
||||
_assert_counts(1, 1, 0)
|
||||
_assert_counts(1, 0)
|
||||
_rotate()
|
||||
_assert_counts(1, 1, 0)
|
||||
_assert_counts(1, 0)
|
||||
|
||||
event_id = _create_event()
|
||||
_assert_counts(2, 2, 0)
|
||||
_assert_counts(2, 0)
|
||||
_rotate()
|
||||
_assert_counts(2, 2, 0)
|
||||
_assert_counts(2, 0)
|
||||
|
||||
_create_event()
|
||||
_mark_read(event_id)
|
||||
_assert_counts(1, 1, 0)
|
||||
_assert_counts(1, 0)
|
||||
|
||||
_mark_read(last_event_id)
|
||||
_assert_counts(0, 0, 0)
|
||||
_assert_counts(0, 0)
|
||||
|
||||
_create_event()
|
||||
_rotate()
|
||||
_assert_counts(1, 1, 0)
|
||||
_assert_counts(1, 0)
|
||||
|
||||
# Delete old event push actions, this should not affect the (summarised) count.
|
||||
#
|
||||
|
@ -151,35 +149,35 @@ class EventPushActionsStoreTestCase(HomeserverTestCase):
|
|||
)
|
||||
)
|
||||
self.assertEqual(result, [])
|
||||
_assert_counts(1, 1, 0)
|
||||
_assert_counts(1, 0)
|
||||
|
||||
_mark_read(last_event_id)
|
||||
_assert_counts(0, 0, 0)
|
||||
_assert_counts(0, 0)
|
||||
|
||||
event_id = _create_event(True)
|
||||
_assert_counts(1, 1, 1)
|
||||
_assert_counts(1, 1)
|
||||
_rotate()
|
||||
_assert_counts(1, 1, 1)
|
||||
_assert_counts(1, 1)
|
||||
|
||||
# Check that adding another notification and rotating after highlight
|
||||
# works.
|
||||
_create_event()
|
||||
_rotate()
|
||||
_assert_counts(2, 2, 1)
|
||||
_assert_counts(2, 1)
|
||||
|
||||
# Check that sending read receipts at different points results in the
|
||||
# right counts.
|
||||
_mark_read(event_id)
|
||||
_assert_counts(1, 1, 0)
|
||||
_assert_counts(1, 0)
|
||||
_mark_read(last_event_id)
|
||||
_assert_counts(0, 0, 0)
|
||||
_assert_counts(0, 0)
|
||||
|
||||
_create_event(True)
|
||||
_assert_counts(1, 1, 1)
|
||||
_assert_counts(1, 1)
|
||||
_mark_read(last_event_id)
|
||||
_assert_counts(0, 0, 0)
|
||||
_assert_counts(0, 0)
|
||||
_rotate()
|
||||
_assert_counts(0, 0, 0)
|
||||
_assert_counts(0, 0)
|
||||
|
||||
def test_find_first_stream_ordering_after_ts(self) -> None:
|
||||
def add_event(so: int, ts: int) -> None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue