Compare commits
11 Commits
e577c5d607
...
84a901cf0c
Author | SHA1 | Date |
---|---|---|
Andrew Morgan | 84a901cf0c | |
Andrew Morgan | 529462b5c0 | |
Andrew Morgan | 677d0edbac | |
Andrew Morgan | 3fb9fc40f5 | |
Erik Johnston | 5d99bde788 | |
Andrew Morgan | 2cf115f0ea | |
Andrew Morgan | 2cb38ca871 | |
David Vo | 5bd2b27525 | |
Andrew Morgan | b5d0b038f4 | |
Andrew Morgan | b5ecafd157 | |
Erik Johnston | db098ec994 |
17
CHANGES.md
17
CHANGES.md
|
@ -1,3 +1,20 @@
|
||||||
|
Synapse 1.12.1 (2020-04-02)
|
||||||
|
===========================
|
||||||
|
|
||||||
|
No significant changes since 1.12.1rc1.
|
||||||
|
|
||||||
|
|
||||||
|
Synapse 1.12.1rc1 (2020-03-31)
|
||||||
|
==============================
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)). Introduced in v1.12.0.
|
||||||
|
- Avoid importing `sqlite3` when using the postgres backend. Contributed by David Vo. ([\#7155](https://github.com/matrix-org/synapse/issues/7155)). Introduced in v1.12.0rc1.
|
||||||
|
- Fix a bug which could cause outbound federation traffic to stop working if a client uploaded an incorrect e2e device signature. ([\#7177](https://github.com/matrix-org/synapse/issues/7177)). Introduced in v1.11.0.
|
||||||
|
|
||||||
|
|
||||||
Synapse 1.12.0 (2020-03-23)
|
Synapse 1.12.0 (2020-03-23)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
matrix-synapse-py3 (1.12.1) stable; urgency=medium
|
||||||
|
|
||||||
|
* New synapse release 1.12.1.
|
||||||
|
|
||||||
|
-- Synapse Packaging team <packages@matrix.org> Mon, 02 Apr 2020 11:30:47 +0000
|
||||||
|
|
||||||
matrix-synapse-py3 (1.12.0) stable; urgency=medium
|
matrix-synapse-py3 (1.12.0) stable; urgency=medium
|
||||||
|
|
||||||
* New synapse release 1.12.0.
|
* New synapse release 1.12.0.
|
||||||
|
|
|
@ -36,7 +36,7 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
__version__ = "1.12.0"
|
__version__ = "1.12.1"
|
||||||
|
|
||||||
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
|
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
|
||||||
# We import here so that we don't have to install a bunch of deps when
|
# We import here so that we don't have to install a bunch of deps when
|
||||||
|
|
|
@ -860,6 +860,9 @@ def start(config_options):
|
||||||
|
|
||||||
# Force the appservice to start since they will be disabled in the main config
|
# Force the appservice to start since they will be disabled in the main config
|
||||||
config.notify_appservices = True
|
config.notify_appservices = True
|
||||||
|
else:
|
||||||
|
# For other worker types we force this to off.
|
||||||
|
config.notify_appservices = False
|
||||||
|
|
||||||
if config.worker_app == "synapse.app.pusher":
|
if config.worker_app == "synapse.app.pusher":
|
||||||
if config.start_pushers:
|
if config.start_pushers:
|
||||||
|
@ -873,6 +876,9 @@ def start(config_options):
|
||||||
|
|
||||||
# Force the pushers to start since they will be disabled in the main config
|
# Force the pushers to start since they will be disabled in the main config
|
||||||
config.start_pushers = True
|
config.start_pushers = True
|
||||||
|
else:
|
||||||
|
# For other worker types we force this to off.
|
||||||
|
config.start_pushers = False
|
||||||
|
|
||||||
if config.worker_app == "synapse.app.user_dir":
|
if config.worker_app == "synapse.app.user_dir":
|
||||||
if config.update_user_directory:
|
if config.update_user_directory:
|
||||||
|
@ -886,6 +892,9 @@ def start(config_options):
|
||||||
|
|
||||||
# Force the pushers to start since they will be disabled in the main config
|
# Force the pushers to start since they will be disabled in the main config
|
||||||
config.update_user_directory = True
|
config.update_user_directory = True
|
||||||
|
else:
|
||||||
|
# For other worker types we force this to off.
|
||||||
|
config.update_user_directory = False
|
||||||
|
|
||||||
if config.worker_app == "synapse.app.federation_sender":
|
if config.worker_app == "synapse.app.federation_sender":
|
||||||
if config.send_federation:
|
if config.send_federation:
|
||||||
|
@ -899,6 +908,9 @@ def start(config_options):
|
||||||
|
|
||||||
# Force the pushers to start since they will be disabled in the main config
|
# Force the pushers to start since they will be disabled in the main config
|
||||||
config.send_federation = True
|
config.send_federation = True
|
||||||
|
else:
|
||||||
|
# For other worker types we force this to off.
|
||||||
|
config.send_federation = False
|
||||||
|
|
||||||
synapse.events.USE_FROZEN_DICTS = config.use_frozen_dicts
|
synapse.events.USE_FROZEN_DICTS = config.use_frozen_dicts
|
||||||
|
|
||||||
|
|
|
@ -317,14 +317,16 @@ class DeviceWorkerStore(SQLBaseStore):
|
||||||
key_json = device.get("key_json", None)
|
key_json = device.get("key_json", None)
|
||||||
if key_json:
|
if key_json:
|
||||||
result["keys"] = db_to_json(key_json)
|
result["keys"] = db_to_json(key_json)
|
||||||
|
|
||||||
|
if "signatures" in device:
|
||||||
|
for sig_user_id, sigs in device["signatures"].items():
|
||||||
|
result["keys"].setdefault("signatures", {}).setdefault(
|
||||||
|
sig_user_id, {}
|
||||||
|
).update(sigs)
|
||||||
|
|
||||||
device_display_name = device.get("device_display_name", None)
|
device_display_name = device.get("device_display_name", None)
|
||||||
if device_display_name:
|
if device_display_name:
|
||||||
result["device_display_name"] = device_display_name
|
result["device_display_name"] = device_display_name
|
||||||
if "signatures" in device:
|
|
||||||
for sig_user_id, sigs in device["signatures"].items():
|
|
||||||
result["keys"].setdefault("signatures", {}).setdefault(
|
|
||||||
sig_user_id, {}
|
|
||||||
).update(sigs)
|
|
||||||
else:
|
else:
|
||||||
result["deleted"] = True
|
result["deleted"] = True
|
||||||
|
|
||||||
|
@ -525,14 +527,16 @@ class DeviceWorkerStore(SQLBaseStore):
|
||||||
key_json = device.get("key_json", None)
|
key_json = device.get("key_json", None)
|
||||||
if key_json:
|
if key_json:
|
||||||
result["keys"] = db_to_json(key_json)
|
result["keys"] = db_to_json(key_json)
|
||||||
|
|
||||||
|
if "signatures" in device:
|
||||||
|
for sig_user_id, sigs in device["signatures"].items():
|
||||||
|
result["keys"].setdefault("signatures", {}).setdefault(
|
||||||
|
sig_user_id, {}
|
||||||
|
).update(sigs)
|
||||||
|
|
||||||
device_display_name = device.get("device_display_name", None)
|
device_display_name = device.get("device_display_name", None)
|
||||||
if device_display_name:
|
if device_display_name:
|
||||||
result["device_display_name"] = device_display_name
|
result["device_display_name"] = device_display_name
|
||||||
if "signatures" in device:
|
|
||||||
for sig_user_id, sigs in device["signatures"].items():
|
|
||||||
result["keys"].setdefault("signatures", {}).setdefault(
|
|
||||||
sig_user_id, {}
|
|
||||||
).update(sigs)
|
|
||||||
|
|
||||||
results.append(result)
|
results.append(result)
|
||||||
|
|
||||||
|
|
|
@ -12,14 +12,17 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
import sqlite3
|
|
||||||
import struct
|
import struct
|
||||||
import threading
|
import threading
|
||||||
|
import typing
|
||||||
|
|
||||||
from synapse.storage.engines import BaseDatabaseEngine
|
from synapse.storage.engines import BaseDatabaseEngine
|
||||||
|
|
||||||
|
if typing.TYPE_CHECKING:
|
||||||
|
import sqlite3 # noqa: F401
|
||||||
|
|
||||||
class Sqlite3Engine(BaseDatabaseEngine[sqlite3.Connection]):
|
|
||||||
|
class Sqlite3Engine(BaseDatabaseEngine["sqlite3.Connection"]):
|
||||||
def __init__(self, database_module, database_config):
|
def __init__(self, database_module, database_config):
|
||||||
super().__init__(database_module, database_config)
|
super().__init__(database_module, database_config)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue