mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-04-25 05:59:13 -04:00
Merge remote-tracking branch 'upstream/release-v1.58'
This commit is contained in:
commit
57534aa74a
20
CHANGES.md
20
CHANGES.md
@ -1,3 +1,21 @@
|
|||||||
|
Synapse 1.58.0rc2 (2022-04-26)
|
||||||
|
==============================
|
||||||
|
|
||||||
|
This release candidate fixes bugs related to Synapse 1.58.0rc1's logic for handling device list updates.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- Fix a bug introduced in Synapse 1.58.0rc1 where the main process could consume excessive amounts of CPU and memory while handling sentry logging failures. ([\#12554](https://github.com/matrix-org/synapse/issues/12554))
|
||||||
|
- Fix a bug introduced in Synapse 1.58.0rc1 where opentracing contexts were not correctly sent to whitelisted remote servers with device lists updates. ([\#12555](https://github.com/matrix-org/synapse/issues/12555))
|
||||||
|
|
||||||
|
|
||||||
|
Internal Changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
- Reduce unnecessary work when handling remote device list updates. ([\#12557](https://github.com/matrix-org/synapse/issues/12557))
|
||||||
|
|
||||||
|
|
||||||
Synapse 1.58.0rc1 (2022-04-26)
|
Synapse 1.58.0rc1 (2022-04-26)
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
@ -9,7 +27,7 @@ Features
|
|||||||
- Implement [MSC3383](https://github.com/matrix-org/matrix-spec-proposals/pull/3383) for including the destination in server-to-server authentication headers. Contributed by @Bubu and @jcgruenhage for Famedly. ([\#11398](https://github.com/matrix-org/synapse/issues/11398))
|
- Implement [MSC3383](https://github.com/matrix-org/matrix-spec-proposals/pull/3383) for including the destination in server-to-server authentication headers. Contributed by @Bubu and @jcgruenhage for Famedly. ([\#11398](https://github.com/matrix-org/synapse/issues/11398))
|
||||||
- Docker images and Debian packages from matrix.org now contain a locked set of Python dependencies, greatly improving build reproducibility. ([Board](https://github.com/orgs/matrix-org/projects/54), [\#11537](https://github.com/matrix-org/synapse/issues/11537))
|
- Docker images and Debian packages from matrix.org now contain a locked set of Python dependencies, greatly improving build reproducibility. ([Board](https://github.com/orgs/matrix-org/projects/54), [\#11537](https://github.com/matrix-org/synapse/issues/11537))
|
||||||
- Enable processing of device list updates asynchronously. ([\#12365](https://github.com/matrix-org/synapse/issues/12365), [\#12465](https://github.com/matrix-org/synapse/issues/12465))
|
- Enable processing of device list updates asynchronously. ([\#12365](https://github.com/matrix-org/synapse/issues/12365), [\#12465](https://github.com/matrix-org/synapse/issues/12465))
|
||||||
- Implement [MSC2815](https://github.com/matrix-org/matrix-spec-proposals/pull/2815) to allow room moderators to view redacted event content. Contributed by @tulir. ([\#12427](https://github.com/matrix-org/synapse/issues/12427))
|
- Implement [MSC2815](https://github.com/matrix-org/matrix-spec-proposals/pull/2815) to allow room moderators to view redacted event content. Contributed by @tulir @ Beeper. ([\#12427](https://github.com/matrix-org/synapse/issues/12427))
|
||||||
- Build Debian packages for Ubuntu 22.04 "Jammy Jellyfish". ([\#12543](https://github.com/matrix-org/synapse/issues/12543))
|
- Build Debian packages for Ubuntu 22.04 "Jammy Jellyfish". ([\#12543](https://github.com/matrix-org/synapse/issues/12543))
|
||||||
|
|
||||||
|
|
||||||
|
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
|||||||
|
matrix-synapse-py3 (1.58.0~rc2) stable; urgency=medium
|
||||||
|
|
||||||
|
* New Synapse release 1.58.0rc2.
|
||||||
|
|
||||||
|
-- Synapse Packaging team <packages@matrix.org> Tue, 26 Apr 2022 17:14:56 +0100
|
||||||
|
|
||||||
matrix-synapse-py3 (1.58.0~rc1) stable; urgency=medium
|
matrix-synapse-py3 (1.58.0~rc1) stable; urgency=medium
|
||||||
|
|
||||||
* Use poetry to manage the bundled virtualenv included with this package.
|
* Use poetry to manage the bundled virtualenv included with this package.
|
||||||
|
@ -54,7 +54,7 @@ skip_gitignore = true
|
|||||||
|
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "matrix-synapse"
|
name = "matrix-synapse"
|
||||||
version = "1.58.0rc1"
|
version = "1.58.0rc2"
|
||||||
description = "Homeserver for the Matrix decentralised comms protocol"
|
description = "Homeserver for the Matrix decentralised comms protocol"
|
||||||
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
|
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
|
@ -505,7 +505,8 @@ class DeviceHandler(DeviceWorkerHandler):
|
|||||||
"device_list_key", position, users={user_id}, rooms=room_ids
|
"device_list_key", position, users={user_id}, rooms=room_ids
|
||||||
)
|
)
|
||||||
|
|
||||||
# We may need to do some processing asynchronously.
|
# We may need to do some processing asynchronously for local user IDs.
|
||||||
|
if self.hs.is_mine_id(user_id):
|
||||||
self._handle_new_device_update_async()
|
self._handle_new_device_update_async()
|
||||||
|
|
||||||
async def notify_user_signature_update(
|
async def notify_user_signature_update(
|
||||||
@ -683,9 +684,12 @@ class DeviceHandler(DeviceWorkerHandler):
|
|||||||
self.federation_sender.send_device_messages(
|
self.federation_sender.send_device_messages(
|
||||||
host, immediate=False
|
host, immediate=False
|
||||||
)
|
)
|
||||||
log_kv(
|
# TODO: when called, this isn't in a logging context.
|
||||||
{"message": "sent device update to host", "host": host}
|
# This leads to log spam, sentry event spam, and massive
|
||||||
)
|
# memory usage. See #12552.
|
||||||
|
# log_kv(
|
||||||
|
# {"message": "sent device update to host", "host": host}
|
||||||
|
# )
|
||||||
|
|
||||||
if current_stream_id != stream_id:
|
if current_stream_id != stream_id:
|
||||||
# Clear the set of hosts we've already sent to as we're
|
# Clear the set of hosts we've already sent to as we're
|
||||||
|
@ -1748,7 +1748,8 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore):
|
|||||||
device_id,
|
device_id,
|
||||||
room_id,
|
room_id,
|
||||||
stream_id,
|
stream_id,
|
||||||
False,
|
# We only need to calculate outbound pokes for local users
|
||||||
|
not self.hs.is_mine_id(user_id),
|
||||||
encoded_context,
|
encoded_context,
|
||||||
)
|
)
|
||||||
for room_id in room_ids
|
for room_id in room_ids
|
||||||
@ -1776,7 +1777,17 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore):
|
|||||||
|
|
||||||
def get_uncoverted_outbound_room_pokes_txn(txn):
|
def get_uncoverted_outbound_room_pokes_txn(txn):
|
||||||
txn.execute(sql, (limit,))
|
txn.execute(sql, (limit,))
|
||||||
return txn.fetchall()
|
|
||||||
|
return [
|
||||||
|
(
|
||||||
|
user_id,
|
||||||
|
device_id,
|
||||||
|
room_id,
|
||||||
|
stream_id,
|
||||||
|
db_to_json(opentracing_context),
|
||||||
|
)
|
||||||
|
for user_id, device_id, room_id, stream_id, opentracing_context in txn
|
||||||
|
]
|
||||||
|
|
||||||
return await self.db_pool.runInteraction(
|
return await self.db_pool.runInteraction(
|
||||||
"get_uncoverted_outbound_room_pokes", get_uncoverted_outbound_room_pokes_txn
|
"get_uncoverted_outbound_room_pokes", get_uncoverted_outbound_room_pokes_txn
|
||||||
|
@ -29,7 +29,7 @@ class DeviceStoreTestCase(HomeserverTestCase):
|
|||||||
for device_id in device_ids:
|
for device_id in device_ids:
|
||||||
stream_id = self.get_success(
|
stream_id = self.get_success(
|
||||||
self.store.add_device_change_to_streams(
|
self.store.add_device_change_to_streams(
|
||||||
"user_id", [device_id], ["!some:room"]
|
user_id, [device_id], ["!some:room"]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user