diff options
author | Erik Johnston <erik@matrix.org> | 2020-10-26 15:02:55 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2020-10-26 15:02:55 +0000 |
commit | ff7f0e8a143656eed10ad55904849908f0799b29 (patch) | |
tree | 5b387d4ac1855c171830b06711ad91dc6ac24e13 | |
parent | Fix get|set_type_stream_id_for_appservice store functions (#8648) (diff) | |
parent | Fix get|set_type_stream_id_for_appservice store functions (#8648) (diff) | |
download | synapse-ff7f0e8a143656eed10ad55904849908f0799b29.tar.xz |
Merge branch 'release-v1.22.0' into develop
-rw-r--r-- | changelog.d/8654.bugfix | 1 | ||||
-rw-r--r-- | changelog.d/8656.bugfix | 1 | ||||
-rw-r--r-- | synapse/handlers/appservice.py | 7 | ||||
-rw-r--r-- | synapse/storage/databases/main/metrics.py | 9 |
4 files changed, 11 insertions, 7 deletions
diff --git a/changelog.d/8654.bugfix b/changelog.d/8654.bugfix new file mode 100644 index 0000000000..91d3265b7f --- /dev/null +++ b/changelog.d/8654.bugfix @@ -0,0 +1 @@ +Fix `user_daily_visits` to not have duplicate rows for UA. Broke in v1.22.0rc1. diff --git a/changelog.d/8656.bugfix b/changelog.d/8656.bugfix new file mode 100644 index 0000000000..d6415e8282 --- /dev/null +++ b/changelog.d/8656.bugfix @@ -0,0 +1 @@ +Fix a bug introduced in v1.22.0rc1 where presence events were not properly passed to application services. diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py index 03e9ec4d4e..3ed29a2c16 100644 --- a/synapse/handlers/appservice.py +++ b/synapse/handlers/appservice.py @@ -288,7 +288,7 @@ class ApplicationServicesHandler: user=user, service=service, from_key=from_key, ) time_now = self.clock.time_msec() - presence_events = [ + events.extend( { "type": "m.presence", "sender": event.user_id, @@ -297,8 +297,9 @@ class ApplicationServicesHandler: ), } for event in presence_events - ] - events = events + presence_events + ) + + return events async def query_user_exists(self, user_id): """Check if any application service knows this user_id exists. diff --git a/synapse/storage/databases/main/metrics.py b/synapse/storage/databases/main/metrics.py index 79b01d16f9..ab18cc4d79 100644 --- a/synapse/storage/databases/main/metrics.py +++ b/synapse/storage/databases/main/metrics.py @@ -282,9 +282,10 @@ class ServerMetricsStore(EventPushActionsWorkerStore, SQLBaseStore): now = self._clock.time_msec() # A note on user_agent. Technically a given device can have multiple - # user agents, so we need to decide which one to pick. We could have handled this - # in number of ways, but given that we don't _that_ much have gone for MAX() - # For more details of the other options considered see + # user agents, so we need to decide which one to pick. We could have + # handled this in number of ways, but given that we don't care + # _that_ much we have gone for MAX(). For more details of the other + # options considered see # https://github.com/matrix-org/synapse/pull/8503#discussion_r502306111 sql = """ INSERT INTO user_daily_visits (user_id, device_id, timestamp, user_agent) @@ -299,7 +300,7 @@ class ServerMetricsStore(EventPushActionsWorkerStore, SQLBaseStore): WHERE last_seen > ? AND last_seen <= ? AND udv.timestamp IS NULL AND users.is_guest=0 AND users.appservice_id IS NULL - GROUP BY u.user_id, u.device_id, u.user_agent + GROUP BY u.user_id, u.device_id """ # This means that the day has rolled over but there could still |