Merge remote-tracking branch 'origin/develop' into rei/gsfg_1
to introduce `approx_difference`.
This commit is contained in:
commit
af85ac449d
|
@ -25,7 +25,7 @@ python -m synapse.app.homeserver --generate-keys -c .ci/sqlite-config.yaml
|
|||
echo "--- Prepare test database"
|
||||
|
||||
# Make sure the SQLite3 database is using the latest schema and has no pending background update.
|
||||
scripts-dev/update_database --database-config .ci/sqlite-config.yaml
|
||||
scripts/update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
|
||||
|
||||
# Create the PostgreSQL database.
|
||||
.ci/scripts/postgres_exec.py "CREATE DATABASE synapse"
|
||||
|
@ -46,7 +46,7 @@ echo "--- Prepare empty SQLite database"
|
|||
# we do this by deleting the sqlite db, and then doing the same again.
|
||||
rm .ci/test_db.db
|
||||
|
||||
scripts-dev/update_database --database-config .ci/sqlite-config.yaml
|
||||
scripts/update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
|
||||
|
||||
# re-create the PostgreSQL database.
|
||||
.ci/scripts/postgres_exec.py \
|
||||
|
|
2
.github/CODEOWNERS
vendored
Normal file
2
.github/CODEOWNERS
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Automatically request reviews from the synapse-core team when a pull request comes in.
|
||||
* @matrix-org/synapse-core
|
1
.github/workflows/docs.yaml
vendored
1
.github/workflows/docs.yaml
vendored
|
@ -61,6 +61,5 @@ jobs:
|
|||
uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305 # v3.8.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
keep_files: true
|
||||
publish_dir: ./book
|
||||
destination_dir: ./${{ steps.vars.outputs.branch-version }}
|
||||
|
|
23
.github/workflows/tests.yml
vendored
23
.github/workflows/tests.yml
vendored
|
@ -76,22 +76,25 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.6", "3.7", "3.8", "3.9"]
|
||||
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
|
||||
database: ["sqlite"]
|
||||
toxenv: ["py"]
|
||||
include:
|
||||
# Newest Python without optional deps
|
||||
- python-version: "3.9"
|
||||
toxenv: "py-noextras,combine"
|
||||
- python-version: "3.10"
|
||||
toxenv: "py-noextras"
|
||||
|
||||
# Oldest Python with PostgreSQL
|
||||
- python-version: "3.6"
|
||||
database: "postgres"
|
||||
postgres-version: "9.6"
|
||||
toxenv: "py"
|
||||
|
||||
# Newest Python with PostgreSQL
|
||||
- python-version: "3.9"
|
||||
# Newest Python with newest PostgreSQL
|
||||
- python-version: "3.10"
|
||||
database: "postgres"
|
||||
postgres-version: "13"
|
||||
postgres-version: "14"
|
||||
toxenv: "py"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
@ -111,7 +114,7 @@ jobs:
|
|||
if: ${{ matrix.postgres-version }}
|
||||
timeout-minutes: 2
|
||||
run: until pg_isready -h localhost; do sleep 1; done
|
||||
- run: tox -e py,combine
|
||||
- run: tox -e ${{ matrix.toxenv }}
|
||||
env:
|
||||
TRIAL_FLAGS: "--jobs=2"
|
||||
SYNAPSE_POSTGRES: ${{ matrix.database == 'postgres' || '' }}
|
||||
|
@ -169,7 +172,7 @@ jobs:
|
|||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- run: pip install tox
|
||||
- run: tox -e py,combine
|
||||
- run: tox -e py
|
||||
env:
|
||||
TRIAL_FLAGS: "--jobs=2"
|
||||
- name: Dump logs
|
||||
|
@ -256,8 +259,8 @@ jobs:
|
|||
- python-version: "3.6"
|
||||
postgres-version: "9.6"
|
||||
|
||||
- python-version: "3.9"
|
||||
postgres-version: "13"
|
||||
- python-version: "3.10"
|
||||
postgres-version: "14"
|
||||
|
||||
services:
|
||||
postgres:
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -40,6 +40,7 @@ __pycache__/
|
|||
/.coverage*
|
||||
/.mypy_cache/
|
||||
/.tox
|
||||
/.tox-pg-container
|
||||
/build/
|
||||
/coverage.*
|
||||
/dist/
|
||||
|
|
104
CHANGES.md
104
CHANGES.md
|
@ -1,3 +1,107 @@
|
|||
Synapse 1.44.0 (2021-10-05)
|
||||
===========================
|
||||
|
||||
No significant changes since 1.44.0rc3.
|
||||
|
||||
|
||||
Synapse 1.44.0rc3 (2021-10-04)
|
||||
==============================
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix a bug introduced in Synapse v1.40.0 where changing a user's display name or avatar in a restricted room would cause an authentication error. ([\#10933](https://github.com/matrix-org/synapse/issues/10933))
|
||||
- Fix `/admin/whois/{user_id}` endpoint, which was broken in v1.44.0rc1. ([\#10968](https://github.com/matrix-org/synapse/issues/10968))
|
||||
|
||||
|
||||
Synapse 1.44.0rc2 (2021-09-30)
|
||||
==============================
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix a bug introduced in v1.44.0rc1 which caused the experimental [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint to return a 500 error. ([\#10938](https://github.com/matrix-org/synapse/issues/10938))
|
||||
- Fix a bug introduced in v1.44.0rc1 which prevented sending presence events to application services. ([\#10944](https://github.com/matrix-org/synapse/issues/10944))
|
||||
|
||||
|
||||
Improved Documentation
|
||||
----------------------
|
||||
|
||||
- Minor updates to the installation instructions. ([\#10919](https://github.com/matrix-org/synapse/issues/10919))
|
||||
|
||||
|
||||
Synapse 1.44.0rc1 (2021-09-29)
|
||||
==============================
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Only allow the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send?chunk_id=xxx` endpoint to connect to an already existing insertion event. ([\#10776](https://github.com/matrix-org/synapse/issues/10776))
|
||||
- Improve oEmbed URL previews by processing the author name, photo, and video information. ([\#10814](https://github.com/matrix-org/synapse/issues/10814), [\#10819](https://github.com/matrix-org/synapse/issues/10819))
|
||||
- Speed up responding with large JSON objects to requests. ([\#10868](https://github.com/matrix-org/synapse/issues/10868), [\#10905](https://github.com/matrix-org/synapse/issues/10905))
|
||||
- Add a `user_may_create_room_with_invites` spam checker callback to allow modules to allow or deny a room creation request based on the invites and/or 3PID invites it includes. ([\#10898](https://github.com/matrix-org/synapse/issues/10898))
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix a long-standing bug that caused an `AssertionError` when purging history in certain rooms. Contributed by @Kokokokoka. ([\#10690](https://github.com/matrix-org/synapse/issues/10690))
|
||||
- Fix a long-standing bug which caused deactivated users that were later reactivated to be missing from the user directory. ([\#10782](https://github.com/matrix-org/synapse/issues/10782))
|
||||
- Fix a long-standing bug that caused unbanning a user by sending a membership event to fail. Contributed by @aaronraimist. ([\#10807](https://github.com/matrix-org/synapse/issues/10807))
|
||||
- Fix a long-standing bug where logging contexts would go missing when federation requests time out. ([\#10810](https://github.com/matrix-org/synapse/issues/10810))
|
||||
- Fix a long-standing bug causing an error in the deprecated `/initialSync` endpoint when using the undocumented `from` and `to` parameters. ([\#10827](https://github.com/matrix-org/synapse/issues/10827))
|
||||
- Fix a bug causing the `remove_stale_pushers` background job to repeatedly fail and log errors. This bug affected Synapse servers that had been upgraded from version 1.28 or older and are using SQLite. ([\#10843](https://github.com/matrix-org/synapse/issues/10843))
|
||||
- Fix a long-standing bug in Unicode support of the room search admin API breaking search for rooms with non-ASCII characters. ([\#10859](https://github.com/matrix-org/synapse/issues/10859))
|
||||
- Fix a bug introduced in Synapse 1.37.0 which caused `knock` membership events which we sent to remote servers to be incorrectly stored in the local database. ([\#10873](https://github.com/matrix-org/synapse/issues/10873))
|
||||
- Fix invalidating one-time key count cache after claiming keys. The bug was introduced in Synapse v1.41.0. Contributed by Tulir at Beeper. ([\#10875](https://github.com/matrix-org/synapse/issues/10875))
|
||||
- Fix a long-standing bug causing application service users to be subject to MAU blocking if the MAU limit had been reached, even if configured not to be blocked. ([\#10881](https://github.com/matrix-org/synapse/issues/10881))
|
||||
- Fix a long-standing bug which could cause events pulled over federation to be incorrectly rejected. ([\#10907](https://github.com/matrix-org/synapse/issues/10907))
|
||||
- Fix a long-standing bug causing URL cache files to be stored in storage providers. Server admins may safely delete the `url_cache/` and `url_cache_thumbnails/` directories from any configured storage providers to reclaim space. ([\#10911](https://github.com/matrix-org/synapse/issues/10911))
|
||||
- Fix a long-standing bug leading to race conditions when creating media store and config directories. ([\#10913](https://github.com/matrix-org/synapse/issues/10913))
|
||||
|
||||
|
||||
Improved Documentation
|
||||
----------------------
|
||||
|
||||
- Fix some crashes in the Module API example code, by adding JSON encoding/decoding. ([\#10845](https://github.com/matrix-org/synapse/issues/10845))
|
||||
- Add developer documentation about experimental configuration flags. ([\#10865](https://github.com/matrix-org/synapse/issues/10865))
|
||||
- Properly remove deleted files from GitHub pages when generating the documentation. ([\#10869](https://github.com/matrix-org/synapse/issues/10869))
|
||||
|
||||
|
||||
Internal Changes
|
||||
----------------
|
||||
|
||||
- Fix GitHub Actions config so we can run sytest on synapse from parallel branches. ([\#10659](https://github.com/matrix-org/synapse/issues/10659))
|
||||
- Split out [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) meta events to their own fields in the `/batch_send` response. ([\#10777](https://github.com/matrix-org/synapse/issues/10777))
|
||||
- Add missing type hints to REST servlets. ([\#10785](https://github.com/matrix-org/synapse/issues/10785), [\#10817](https://github.com/matrix-org/synapse/issues/10817))
|
||||
- Simplify the internal logic which maintains the user directory database tables. ([\#10796](https://github.com/matrix-org/synapse/issues/10796))
|
||||
- Use direct references to config flags. ([\#10812](https://github.com/matrix-org/synapse/issues/10812), [\#10885](https://github.com/matrix-org/synapse/issues/10885), [\#10893](https://github.com/matrix-org/synapse/issues/10893), [\#10897](https://github.com/matrix-org/synapse/issues/10897))
|
||||
- Specify the type of token in generic "Invalid token" error messages. ([\#10815](https://github.com/matrix-org/synapse/issues/10815))
|
||||
- Make `StateFilter` frozen so it is hashable. ([\#10816](https://github.com/matrix-org/synapse/issues/10816))
|
||||
- Fix a long-standing bug where an `m.room.message` event containing a null byte would cause an internal server error. ([\#10820](https://github.com/matrix-org/synapse/issues/10820))
|
||||
- Add type hints to the state database. ([\#10823](https://github.com/matrix-org/synapse/issues/10823))
|
||||
- Opt out of cache expiry for `get_users_who_share_room_with_user`, to hopefully improve `/sync` performance when you
|
||||
haven't synced recently. ([\#10826](https://github.com/matrix-org/synapse/issues/10826))
|
||||
- Track cache eviction rates more finely in Prometheus's monitoring. ([\#10829](https://github.com/matrix-org/synapse/issues/10829))
|
||||
- Add missing type hints to `synapse.handlers`. ([\#10831](https://github.com/matrix-org/synapse/issues/10831), [\#10856](https://github.com/matrix-org/synapse/issues/10856))
|
||||
- Extend the Module API to let plug-ins check whether an ID is local and to access IP + User Agent data. ([\#10833](https://github.com/matrix-org/synapse/issues/10833))
|
||||
- Factor out PNG image data to a constant to be used in several tests. ([\#10834](https://github.com/matrix-org/synapse/issues/10834))
|
||||
- Add a test to ensure state events sent by modules get persisted correctly. ([\#10835](https://github.com/matrix-org/synapse/issues/10835))
|
||||
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) fields and event types from `chunk` to `batch` to match the `/batch_send` endpoint. ([\#10838](https://github.com/matrix-org/synapse/issues/10838))
|
||||
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` query parameter from `?prev_event` to more obvious usage with `?prev_event_id`. ([\#10839](https://github.com/matrix-org/synapse/issues/10839))
|
||||
- Add type hints to `synapse.http.site`. ([\#10867](https://github.com/matrix-org/synapse/issues/10867))
|
||||
- Include outlier status when we log V2 or V3 events. ([\#10879](https://github.com/matrix-org/synapse/issues/10879))
|
||||
- Break down Grafana's cache expiry time series based on reason for eviction, c.f. [\#10829](https://github.com/matrix-org/synapse/issues/10829). ([\#10880](https://github.com/matrix-org/synapse/issues/10880))
|
||||
- Clean up some of the federation event authentication code for clarity. ([\#10883](https://github.com/matrix-org/synapse/issues/10883), [\#10884](https://github.com/matrix-org/synapse/issues/10884), [\#10896](https://github.com/matrix-org/synapse/issues/10896), [\#10901](https://github.com/matrix-org/synapse/issues/10901))
|
||||
- Allow the `.` and `~` characters when creating registration tokens as per the change to [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231). ([\#10887](https://github.com/matrix-org/synapse/issues/10887))
|
||||
- Clean up some unnecessary parentheses in places around the codebase. ([\#10889](https://github.com/matrix-org/synapse/issues/10889))
|
||||
- Improve type hinting in the user directory code. ([\#10891](https://github.com/matrix-org/synapse/issues/10891))
|
||||
- Update development testing script `test_postgresql.sh` to use a supported Python version and make re-runs quicker. ([\#10906](https://github.com/matrix-org/synapse/issues/10906))
|
||||
- Document and summarize changes in schema version `61` – `64`. ([\#10917](https://github.com/matrix-org/synapse/issues/10917))
|
||||
- Update release script to sign the newly created git tags. ([\#10925](https://github.com/matrix-org/synapse/issues/10925))
|
||||
- Fix Debian builds due to `dh-virtualenv` no longer being able to build their docs. ([\#10931](https://github.com/matrix-org/synapse/issues/10931))
|
||||
|
||||
|
||||
Synapse 1.43.0 (2021-09-21)
|
||||
===========================
|
||||
|
||||
|
|
11
README.rst
11
README.rst
|
@ -55,11 +55,8 @@ solutions. The hope is for Matrix to act as the building blocks for a new
|
|||
generation of fully open and interoperable messaging and VoIP apps for the
|
||||
internet.
|
||||
|
||||
Synapse is a reference "homeserver" implementation of Matrix from the core
|
||||
development team at matrix.org, written in Python/Twisted. It is intended to
|
||||
showcase the concept of Matrix and let folks see the spec in the context of a
|
||||
codebase and let you run your own homeserver and generally help bootstrap the
|
||||
ecosystem.
|
||||
Synapse is a Matrix "homeserver" implementation developed by the matrix.org core
|
||||
team, written in Python 3/Twisted.
|
||||
|
||||
In Matrix, every user runs one or more Matrix clients, which connect through to
|
||||
a Matrix homeserver. The homeserver stores all their personal chat history and
|
||||
|
@ -288,7 +285,7 @@ Quick start
|
|||
|
||||
Before setting up a development environment for synapse, make sure you have the
|
||||
system dependencies (such as the python header files) installed - see
|
||||
`Installing from source <https://matrix-org.github.io/synapse/latest/setup/installation.html#installing-from-source>`_.
|
||||
`Platform-specific prerequisites <https://matrix-org.github.io/synapse/latest/setup/installation.html#platform-specific-prerequisites>`_.
|
||||
|
||||
To check out a synapse for development, clone the git repo into a working
|
||||
directory of your choice::
|
||||
|
@ -301,7 +298,7 @@ to install using pip and a virtualenv::
|
|||
|
||||
python3 -m venv ./env
|
||||
source ./env/bin/activate
|
||||
pip install -e ".[all,test]"
|
||||
pip install -e ".[all,dev]"
|
||||
|
||||
This will run a process of downloading and installing all the needed
|
||||
dependencies into a virtual env. If any dependencies fail to install,
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Fix GitHub Actions config so we can run sytest on synapse from parallel branches.
|
|
@ -1 +0,0 @@
|
|||
Only allow the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send?chunk_id=xxx` endpoint to connect to an already existing insertion event.
|
|
@ -1 +0,0 @@
|
|||
Split out [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) meta events to their own fields in the `/batch_send` response.
|
|
@ -1 +0,0 @@
|
|||
Add missing type hints to REST servlets.
|
|
@ -1 +0,0 @@
|
|||
Simplify the internal logic which maintains the user directory database tables.
|
|
@ -1 +0,0 @@
|
|||
Allow sending a membership event to unban a user. Contributed by @aaronraimist.
|
|
@ -1 +0,0 @@
|
|||
Fix a case where logging contexts would go missing when federation requests time out.
|
|
@ -1 +0,0 @@
|
|||
Specify the type of token in generic "Invalid token" error messages.
|
|
@ -1 +0,0 @@
|
|||
Make `StateFilter` frozen so it is hashable.
|
|
@ -1 +0,0 @@
|
|||
Add missing type hints to REST servlets.
|
1
changelog.d/10822.feature
Normal file
1
changelog.d/10822.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Support autodiscovery of oEmbed previews.
|
|
@ -1 +0,0 @@
|
|||
Add type hints to the state database.
|
1
changelog.d/10825.misc
Normal file
1
changelog.d/10825.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add an 'approximate difference' method to `StateFilter`.
|
|
@ -1 +0,0 @@
|
|||
Add missing type hints to handlers.
|
|
@ -1 +0,0 @@
|
|||
Factor out PNG image data to a constant to be used in several tests.
|
|
@ -1 +0,0 @@
|
|||
Add a test to ensure state events sent by modules get persisted correctly.
|
|
@ -1 +0,0 @@
|
|||
Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` query parameter from `?prev_event` to more obvious usage with `?prev_event_id`.
|
|
@ -1 +0,0 @@
|
|||
Fix a bug causing the `remove_stale_pushers` background job to repeatedly fail and log errors. This bug affected Synapse servers that had been upgraded from version 1.28 or older and are using SQLite.
|
|
@ -1 +0,0 @@
|
|||
Fix some crashes in the Module API example code, by adding JSON encoding/decoding.
|
|
@ -1 +0,0 @@
|
|||
Fix a bug in Unicode support of the room search admin API. It is now possible to search for rooms with non-ASCII characters.
|
1
changelog.d/10877.feature
Normal file
1
changelog.d/10877.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Ensure `(room_id, next_batch_id)` is unique across [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) insertion events in rooms to avoid cross-talk/conflicts between batches.
|
1
changelog.d/10888.misc
Normal file
1
changelog.d/10888.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Improve type hinting in `synapse.util`.
|
1
changelog.d/10892.misc
Normal file
1
changelog.d/10892.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add further type hints to `synapse.storage.util`.
|
1
changelog.d/10894.feature
Normal file
1
changelog.d/10894.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Add a `user_may_send_3pid_invite` spam checker callback for modules to allow or deny 3PID invites.
|
1
changelog.d/10895.misc
Normal file
1
changelog.d/10895.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix type hints to be compatible with an upcoming change to Twisted.
|
1
changelog.d/10902.misc
Normal file
1
changelog.d/10902.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Update utility code to handle C implementations of frozendict.
|
1
changelog.d/10903.misc
Normal file
1
changelog.d/10903.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Drop old functionality which maintained database compatibility with Synapse versions before 1.31.
|
1
changelog.d/10910.feature
Normal file
1
changelog.d/10910.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Add a spam checker callback to allow or deny room joins.
|
1
changelog.d/10915.misc
Normal file
1
changelog.d/10915.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean-up configuration helper classes for the `ServerConfig` class.
|
1
changelog.d/10922.bugfix
Normal file
1
changelog.d/10922.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a minor bug in the response to `/_matrix/client/r0/voip/turnServer`. Contributed by @lukaslihotzki.
|
1
changelog.d/10924.bugfix
Normal file
1
changelog.d/10924.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a bug where empty `yyyy-mm-dd/` directories would be left behind in the media store's `url_cache_thumbnails/` directory.
|
1
changelog.d/10926.misc
Normal file
1
changelog.d/10926.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/10927.bugfix
Normal file
1
changelog.d/10927.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a bug introduced in Synapse v1.40.0 where the signature checks for room version 8/9 could be applied to earlier room versions in some situations.
|
1
changelog.d/10934.misc
Normal file
1
changelog.d/10934.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Refactor various parts of the codebase to use `RoomVersion` objects instead of room version identifier strings.
|
1
changelog.d/10935.misc
Normal file
1
changelog.d/10935.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Refactor user directory tests in preparation for upcoming changes.
|
1
changelog.d/10936.misc
Normal file
1
changelog.d/10936.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Include the event id in the logcontext when handling PDUs received over federation.
|
1
changelog.d/10939.misc
Normal file
1
changelog.d/10939.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix logged errors in unit tests.
|
1
changelog.d/10940.misc
Normal file
1
changelog.d/10940.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/10945.misc
Normal file
1
changelog.d/10945.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a broken test to ensure that consent configuration works during registration.
|
1
changelog.d/10947.bugfix
Normal file
1
changelog.d/10947.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fixes a long-standing bug wherin deactivated users still count towards the mau limit.
|
1
changelog.d/10954.feature
Normal file
1
changelog.d/10954.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Include an `update_synapse_database` script in the distribution. Contributed by @Fizzadar at Beeper.
|
1
changelog.d/10956.bugfix
Normal file
1
changelog.d/10956.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a long-standing bug which meant that events received over federation were sometimes incorrectly accepted into the room state.
|
1
changelog.d/10958.misc
Normal file
1
changelog.d/10958.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add type hints to filtering classes.
|
1
changelog.d/10959.misc
Normal file
1
changelog.d/10959.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Use direct references to config flags.
|
1
changelog.d/10960.bugfix
Normal file
1
changelog.d/10960.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a long-standing bug where rebuilding the user directory wouldn't exclude support and disabled users.
|
1
changelog.d/10961.misc
Normal file
1
changelog.d/10961.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add type-hint to `HomeserverTestcase.setup_test_homeserver`.
|
1
changelog.d/10962.bugfix
Normal file
1
changelog.d/10962.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint rejecting subsequent batches with unknown batch ID error in existing room versions from the room creator.
|
1
changelog.d/10963.misc
Normal file
1
changelog.d/10963.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix the test utility function `create_room_as` so that `is_public=True` will explicitly set the `visibility` parameter of room creation requests to `public`. Contributed by @AndrewFerr.
|
1
changelog.d/10966.misc
Normal file
1
changelog.d/10966.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Make the release script more robust and transparent.
|
1
changelog.d/10971.doc
Normal file
1
changelog.d/10971.doc
Normal file
|
@ -0,0 +1 @@
|
|||
Change wording ("reference homeserver") in Synapse repository documentation. Contributed by @maxkratz.
|
1
changelog.d/10973.doc
Normal file
1
changelog.d/10973.doc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a dead URL in development documentation (SAML) and change wording from "Riot" to "Element". Contributed by @maxkratz.
|
1
changelog.d/10974.misc
Normal file
1
changelog.d/10974.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Refactor [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` mega function into smaller handler functions.
|
1
changelog.d/10981.bugfix
Normal file
1
changelog.d/10981.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a bug that could leak local users' per-room nicknames and avatars when the user directory is rebuilt.
|
1
changelog.d/10982.bugfix
Normal file
1
changelog.d/10982.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a long-standing bug where the remainder of a batch of user directory changes would be silently dropped if the server left a room early in the batch.
|
1
changelog.d/10983.misc
Normal file
1
changelog.d/10983.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Log stack traces when a missing opentracing span is detected.
|
1
changelog.d/10985.misc
Normal file
1
changelog.d/10985.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Use direct references to config flags.
|
1
changelog.d/10986.misc
Normal file
1
changelog.d/10986.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/10987.misc
Normal file
1
changelog.d/10987.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/10988.misc
Normal file
1
changelog.d/10988.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/10990.doc
Normal file
1
changelog.d/10990.doc
Normal file
|
@ -0,0 +1 @@
|
|||
Add additional content to the Welcome and Overview page of the documentation.
|
1
changelog.d/10991.doc
Normal file
1
changelog.d/10991.doc
Normal file
|
@ -0,0 +1 @@
|
|||
Update links to MSCs in documentation. Contributed by @dklimpel.
|
1
changelog.d/10992.misc
Normal file
1
changelog.d/10992.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Update GHA config to run tests against Python 3.10 and PostgreSQL 14.
|
1
changelog.d/10993.misc
Normal file
1
changelog.d/10993.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a long-standing bug where `ReadWriteLock`s could drop logging contexts on exit.
|
1
changelog.d/10994.misc
Normal file
1
changelog.d/10994.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add a `CODEOWNERS` file to automatically request reviews from the `@matrix-org/synapse-core` team on new pull requests.
|
1
changelog.d/10995.bugfix
Normal file
1
changelog.d/10995.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Correct a bugfix introduced in Synapse v1.44.0 that wouldn't catch every error of the connection breaks before a response could be written to it.
|
1
changelog.d/11002.bugfix
Normal file
1
changelog.d/11002.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a long-standing bug where local users' per-room nicknames/avatars were visible to anyone who could see you in the user_directory.
|
1
changelog.d/11003.bugfix
Normal file
1
changelog.d/11003.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix a long-standing bug where a user's per-room nickname/avatar would overwrite their profile in the user directory when a room was made public.
|
1
changelog.d/11004.misc
Normal file
1
changelog.d/11004.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add further type hints to `synapse.state`.
|
1
changelog.d/11005.misc
Normal file
1
changelog.d/11005.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Remove the deprecated `BaseHandler` object.
|
1
changelog.d/11006.misc
Normal file
1
changelog.d/11006.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Bump mypy version for CI to 0.910, and pull in new type stubs for dependencies.
|
1
changelog.d/11010.misc
Normal file
1
changelog.d/11010.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/11011.misc
Normal file
1
changelog.d/11011.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
1
changelog.d/11017.misc
Normal file
1
changelog.d/11017.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix CI to run the unit tests without optional deps.
|
1
changelog.d/11019.misc
Normal file
1
changelog.d/11019.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Ensure that cache config tests do not share state.
|
1
changelog.d/11021.misc
Normal file
1
changelog.d/11021.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add additional type hints to `synapse.server_notices`.
|
1
changelog.d/11023.misc
Normal file
1
changelog.d/11023.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add additional type hints for `synapse.push`.
|
1
changelog.d/11028.feature
Normal file
1
changelog.d/11028.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Include exception information in JSON logging output. Contributed by @Fizzadar at Beeper.
|
1
changelog.d/11034.misc
Normal file
1
changelog.d/11034.misc
Normal file
|
@ -0,0 +1 @@
|
|||
When installing the optional developer dependencies, also include the dependencies needed for type-checking and unit testing.
|
1
changelog.d/11042.bugfix
Normal file
1
changelog.d/11042.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Work around a regression, introduced in Synapse 1.39.0, that caused `SynapseError`s raised by the experimental third-party rules module callback `check_event_allowed` to be ignored.
|
1
changelog.d/11043.misc
Normal file
1
changelog.d/11043.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Remove unnecessary list comprehension from `synapse_port_db` to satisfy code style requirements.
|
1
changelog.d/9655.feature
Normal file
1
changelog.d/9655.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Add [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069) support to `/account/whoami`.
|
|
@ -6785,7 +6785,7 @@
|
|||
"expr": "rate(synapse_util_caches_cache:evicted_size{instance=\"$instance\",job=~\"$job\",index=~\"$index\"}[$bucket_size])",
|
||||
"format": "time_series",
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{name}} {{job}}-{{index}}",
|
||||
"legendFormat": "{{name}} ({{reason}}) {{job}}-{{index}}",
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
|
@ -10888,5 +10888,5 @@
|
|||
"timezone": "",
|
||||
"title": "Synapse",
|
||||
"uid": "000000012",
|
||||
"version": 99
|
||||
"version": 100
|
||||
}
|
31
debian/changelog
vendored
31
debian/changelog
vendored
|
@ -1,3 +1,34 @@
|
|||
matrix-synapse-py3 (1.44.0~rc2+nmu1) UNRELEASED; urgency=medium
|
||||
|
||||
[ Nick @ Beeper ]
|
||||
* Include an `update_synapse_database` script in the distribution.
|
||||
|
||||
-- root <root@f7b8a71098d3> Mon, 04 Oct 2021 13:29:26 +0000
|
||||
|
||||
matrix-synapse-py3 (1.44.0) stable; urgency=medium
|
||||
|
||||
* New synapse release 1.44.0.
|
||||
|
||||
-- Synapse Packaging team <packages@matrix.org> Tue, 05 Oct 2021 13:43:57 +0100
|
||||
|
||||
matrix-synapse-py3 (1.44.0~rc3) stable; urgency=medium
|
||||
|
||||
* New synapse release 1.44.0~rc3.
|
||||
|
||||
-- Synapse Packaging team <packages@matrix.org> Mon, 04 Oct 2021 14:57:22 +0100
|
||||
|
||||
matrix-synapse-py3 (1.44.0~rc2) stable; urgency=medium
|
||||
|
||||
* New synapse release 1.44.0~rc2.
|
||||
|
||||
-- Synapse Packaging team <packages@matrix.org> Thu, 30 Sep 2021 12:39:10 +0100
|
||||
|
||||
matrix-synapse-py3 (1.44.0~rc1) stable; urgency=medium
|
||||
|
||||
* New synapse release 1.44.0~rc1.
|
||||
|
||||
-- Synapse Packaging team <packages@matrix.org> Tue, 28 Sep 2021 13:41:28 +0100
|
||||
|
||||
matrix-synapse-py3 (1.43.0) stable; urgency=medium
|
||||
|
||||
* New synapse release 1.43.0.
|
||||
|
|
1
debian/matrix-synapse-py3.links
vendored
1
debian/matrix-synapse-py3.links
vendored
|
@ -3,3 +3,4 @@ opt/venvs/matrix-synapse/bin/register_new_matrix_user usr/bin/register_new_matri
|
|||
opt/venvs/matrix-synapse/bin/synapse_port_db usr/bin/synapse_port_db
|
||||
opt/venvs/matrix-synapse/bin/synapse_review_recent_signups usr/bin/synapse_review_recent_signups
|
||||
opt/venvs/matrix-synapse/bin/synctl usr/bin/synctl
|
||||
opt/venvs/matrix-synapse/bin/update_synapse_database usr/bin/update_synapse_database
|
||||
|
|
|
@ -47,8 +47,9 @@ RUN apt-get update -qq -o Acquire::Languages=none \
|
|||
&& cd /dh-virtualenv \
|
||||
&& env DEBIAN_FRONTEND=noninteractive mk-build-deps -ri -t "apt-get -y --no-install-recommends"
|
||||
|
||||
# build it
|
||||
RUN cd /dh-virtualenv && dpkg-buildpackage -us -uc -b
|
||||
# Build it. Note that building the docs doesn't work due to differences in
|
||||
# Sphinx APIs across versions/distros.
|
||||
RUN cd /dh-virtualenv && DEB_BUILD_OPTIONS=nodoc dpkg-buildpackage -us -uc -b
|
||||
|
||||
###
|
||||
### Stage 1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Use the Sytest image that comes with a lot of the build dependencies
|
||||
# pre-installed
|
||||
FROM matrixdotorg/sytest:latest
|
||||
FROM matrixdotorg/sytest:bionic
|
||||
|
||||
# The Sytest image doesn't come with python, so install that
|
||||
RUN apt-get update && apt-get -qq install -y python3 python3-dev python3-pip
|
||||
|
@ -8,5 +8,23 @@ RUN apt-get update && apt-get -qq install -y python3 python3-dev python3-pip
|
|||
# We need tox to run the tests in run_pg_tests.sh
|
||||
RUN python3 -m pip install tox
|
||||
|
||||
ADD run_pg_tests.sh /pg_tests.sh
|
||||
ENTRYPOINT /pg_tests.sh
|
||||
# Initialise the db
|
||||
RUN su -c '/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/data -E "UTF-8" --lc-collate="C.UTF-8" --lc-ctype="C.UTF-8" --username=postgres' postgres
|
||||
|
||||
# Add a user with our UID and GID so that files get created on the host owned
|
||||
# by us, not root.
|
||||
ARG UID
|
||||
ARG GID
|
||||
RUN groupadd --gid $GID user
|
||||
RUN useradd --uid $UID --gid $GID --groups sudo --no-create-home user
|
||||
|
||||
# Ensure we can start postgres by sudo-ing as the postgres user.
|
||||
RUN apt-get update && apt-get -qq install -y sudo
|
||||
RUN echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
|
||||
ADD run_pg_tests.sh /run_pg_tests.sh
|
||||
# Use the "exec form" of ENTRYPOINT (https://docs.docker.com/engine/reference/builder/#entrypoint)
|
||||
# so that we can `docker run` this container and pass arguments to pg_tests.sh
|
||||
ENTRYPOINT ["/run_pg_tests.sh"]
|
||||
|
||||
USER user
|
||||
|
|
|
@ -10,11 +10,10 @@ set -e
|
|||
# Set PGUSER so Synapse's tests know what user to connect to the database with
|
||||
export PGUSER=postgres
|
||||
|
||||
# Initialise & start the database
|
||||
su -c '/usr/lib/postgresql/9.6/bin/initdb -D /var/lib/postgresql/data -E "UTF-8" --lc-collate="en_US.UTF-8" --lc-ctype="en_US.UTF-8" --username=postgres' postgres
|
||||
su -c '/usr/lib/postgresql/9.6/bin/pg_ctl -w -D /var/lib/postgresql/data start' postgres
|
||||
# Start the database
|
||||
sudo -u postgres /usr/lib/postgresql/10/bin/pg_ctl -w -D /var/lib/postgresql/data start
|
||||
|
||||
# Run the tests
|
||||
cd /src
|
||||
export TRIAL_FLAGS="-j 4"
|
||||
tox --workdir=/tmp -e py35-postgres
|
||||
tox --workdir=./.tox-pg-container -e py36-postgres "$@"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
## Historical Note
|
||||
This document was originally written to guide server admins through the upgrade
|
||||
path towards Synapse 1.0. Specifically,
|
||||
[MSC1711](https://github.com/matrix-org/matrix-doc/blob/master/proposals/1711-x509-for-federation.md)
|
||||
[MSC1711](https://github.com/matrix-org/matrix-doc/blob/main/proposals/1711-x509-for-federation.md)
|
||||
required that all servers present valid TLS certificates on their federation
|
||||
API. Admins were encouraged to achieve compliance from version 0.99.0 (released
|
||||
in February 2019) ahead of version 1.0 (released June 2019) enforcing the
|
||||
|
@ -282,7 +282,7 @@ coffin of the Perspectives project (which was already pretty dead). So, the
|
|||
Spec Core Team decided that a better approach would be to mandate valid TLS
|
||||
certificates for federation alongside the rest of the Web. More details can be
|
||||
found in
|
||||
[MSC1711](https://github.com/matrix-org/matrix-doc/blob/master/proposals/1711-x509-for-federation.md#background-the-failure-of-the-perspectives-approach).
|
||||
[MSC1711](https://github.com/matrix-org/matrix-doc/blob/main/proposals/1711-x509-for-federation.md#background-the-failure-of-the-perspectives-approach).
|
||||
|
||||
This results in a breaking change, which is disruptive, but absolutely critical
|
||||
for the security model. However, the existence of Let's Encrypt as a trivial
|
||||
|
|
|
@ -6,9 +6,9 @@ Please update any links to point to the new website instead.
|
|||
## About
|
||||
|
||||
This directory currently holds a series of markdown files documenting how to install, use
|
||||
and develop Synapse, the reference Matrix homeserver. The documentation is readable directly
|
||||
from this repository, but it is recommended to instead browse through the
|
||||
[website](https://matrix-org.github.io/synapse) for easier discoverability.
|
||||
and develop Synapse. The documentation is readable directly from this repository, but it is
|
||||
recommended to instead browse through the [website](https://matrix-org.github.io/synapse) for
|
||||
easier discoverability.
|
||||
|
||||
## Adding to the documentation
|
||||
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
- [Testing]()
|
||||
- [OpenTracing](opentracing.md)
|
||||
- [Database Schemas](development/database_schema.md)
|
||||
- [Experimental features](development/experimental_features.md)
|
||||
- [Synapse Architecture]()
|
||||
- [Log Contexts](log_contexts.md)
|
||||
- [Replication](replication.md)
|
||||
|
|
|
@ -50,7 +50,7 @@ setup a *virtualenv*, as follows:
|
|||
cd path/where/you/have/cloned/the/repository
|
||||
python3 -m venv ./env
|
||||
source ./env/bin/activate
|
||||
pip install -e ".[all,lint,mypy,test]"
|
||||
pip install -e ".[all,dev]"
|
||||
pip install tox
|
||||
```
|
||||
|
||||
|
@ -63,7 +63,7 @@ TBD
|
|||
|
||||
# 5. Get in touch.
|
||||
|
||||
Join our developer community on Matrix: #synapse-dev:matrix.org !
|
||||
Join our developer community on Matrix: [#synapse-dev:matrix.org](https://matrix.to/#/#synapse-dev:matrix.org)!
|
||||
|
||||
|
||||
# 6. Pick an issue.
|
||||
|
@ -170,6 +170,53 @@ To increase the log level for the tests, set `SYNAPSE_TEST_LOG_LEVEL`:
|
|||
SYNAPSE_TEST_LOG_LEVEL=DEBUG trial tests
|
||||
```
|
||||
|
||||
### Running tests under PostgreSQL
|
||||
|
||||
Invoking `trial` as above will use an in-memory SQLite database. This is great for
|
||||
quick development and testing. However, we recommend using a PostgreSQL database
|
||||
in production (and indeed, we have some code paths specific to each database).
|
||||
This means that we need to run our unit tests against PostgreSQL too. Our CI does
|
||||
this automatically for pull requests and release candidates, but it's sometimes
|
||||
useful to reproduce this locally.
|
||||
|
||||
To do so, [configure Postgres](../postgres.md) and run `trial` with the
|
||||
following environment variables matching your configuration:
|
||||
|
||||
- `SYNAPSE_POSTGRES` to anything nonempty
|
||||
- `SYNAPSE_POSTGRES_HOST`
|
||||
- `SYNAPSE_POSTGRES_USER`
|
||||
- `SYNAPSE_POSTGRES_PASSWORD`
|
||||
|
||||
For example:
|
||||
|
||||
```shell
|
||||
export SYNAPSE_POSTGRES=1
|
||||
export SYNAPSE_POSTGRES_HOST=localhost
|
||||
export SYNAPSE_POSTGRES_USER=postgres
|
||||
export SYNAPSE_POSTGRES_PASSWORD=mydevenvpassword
|
||||
trial
|
||||
```
|
||||
|
||||
#### Prebuilt container
|
||||
|
||||
Since configuring PostgreSQL can be fiddly, we can make use of a pre-made
|
||||
Docker container to set up PostgreSQL and run our tests for us. To do so, run
|
||||
|
||||
```shell
|
||||
scripts-dev/test_postgresql.sh
|
||||
```
|
||||
|
||||
Any extra arguments to the script will be passed to `tox` and then to `trial`,
|
||||
so we can run a specific test in this container with e.g.
|
||||
|
||||
```shell
|
||||
scripts-dev/test_postgresql.sh tests.replication.test_sharded_event_persister.EventPersisterShardTestCase
|
||||
```
|
||||
|
||||
The container creates a folder in your Synapse checkout called
|
||||
`.tox-pg-container` and uses this as a tox environment. The output of any
|
||||
`trial` runs goes into `_trial_temp` in your synapse source directory — the same
|
||||
as running `trial` directly on your host machine.
|
||||
|
||||
## Run the integration tests ([Sytest](https://github.com/matrix-org/sytest)).
|
||||
|
||||
|
|
37
docs/development/experimental_features.md
Normal file
37
docs/development/experimental_features.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Implementing experimental features in Synapse
|
||||
|
||||
It can be desirable to implement "experimental" features which are disabled by
|
||||
default and must be explicitly enabled via the Synapse configuration. This is
|
||||
applicable for features which:
|
||||
|
||||
* Are unstable in the Matrix spec (e.g. those defined by an MSC that has not yet been merged).
|
||||
* Developers are not confident in their use by general Synapse administrators/users
|
||||
(e.g. a feature is incomplete, buggy, performs poorly, or needs further testing).
|
||||
|
||||
Note that this only really applies to features which are expected to be desirable
|
||||
to a broad audience. The [module infrastructure](../modules/index.md) should
|
||||
instead be investigated for non-standard features.
|
||||
|
||||
Guarding experimental features behind configuration flags should help with some
|
||||
of the following scenarios:
|
||||
|
||||
* Ensure that clients do not assume that unstable features exist (failing
|
||||
gracefully if they do not).
|
||||
* Unstable features do not become de-facto standards and can be removed
|
||||
aggressively (since only those who have opted-in will be affected).
|
||||
* Ease finding the implementation of unstable features in Synapse (for future
|
||||
removal or stabilization).
|
||||
* Ease testing a feature (or removal of feature) due to enabling/disabling without
|
||||
code changes. It also becomes possible to ask for wider testing, if desired.
|
||||
|
||||
Experimental configuration flags should be disabled by default (requiring Synapse
|
||||
administrators to explicitly opt-in), although there are situations where it makes
|
||||
sense (from a product point-of-view) to enable features by default. This is
|
||||
expected and not an issue.
|
||||
|
||||
It is not a requirement for experimental features to be behind a configuration flag,
|
||||
but one should be used if unsure.
|
||||
|
||||
New experimental configuration flags should be added under the `experimental`
|
||||
configuration key (see the `synapse.config.experimental` file) and either explain
|
||||
(briefly) what is being enabled, or include the MSC number.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue