- Jan 27, 2025
-
-
Eric Eastwood authored
This also happens for rejecting an invite. Basically, any out-of-band membership transition where we first get the membership as an `outlier` and then rely on federation filling us in to de-outlier it. This PR mainly addresses automated test flakiness, bots/scripts, and options within Synapse like [`auto_accept_invites`](https://element-hq.github.io/synapse/v1.122/usage/configuration/config_documentation.html#auto_accept_invites) that are able to react quickly (before federation is able to push us events), but also helps in generic scenarios where federation is lagging. I initially thought this might be a Synapse consistency issue (see issues labeled with [`Z-Read-After-Write`](https://github.com/matrix-org/synapse/labels/Z-Read-After-Write)) but it seems to be an event auth logic problem. Workers probably do increase the number of possible race condition scenarios that make this visible though (replication and cache invalidation lag). Fix https://github.com/element-hq/synapse/issues/15012 (probably fixes https://github.com/matrix-org/synapse/issues/15012 (https://github.com/element-hq/synapse/issues/15012)) Related to https://github.com/matrix-org/matrix-spec/issues/2062 Problems: 1. We don't consider [out-of-band membership](https://github.com/element-hq/synapse/blob/develop/docs/development/room-dag-concepts.md#out-of-band-membership-events) (outliers) in our `event_auth` logic even though we expose them in `/sync`. 1. (This PR doesn't address this point) Perhaps we should consider authing events in the persistence queue as events already in the queue could allow subsequent events to be allowed (events come through many channels: federation transaction, remote invite, remote join, local send). But this doesn't save us in the case where the event is more delayed over federation. ### What happened before? I wrote some Complement test that stresses this exact scenario and reproduces the problem: https://github.com/matrix-org/complement/pull/757 ``` COMPLEMENT_ALWAYS_PRINT_SERVER_LOGS=1 COMPLEMENT_DIR=../complement ./scripts-dev/complement.sh -run TestSynapseConsistency ``` We have `hs1` and `hs2` running in monolith mode (no workers): 1. `@charlie1:hs2` is invited and joins the room: 1. `hs1` invites `@charlie1:hs2` to a room which we receive on `hs2` as `PUT /_matrix/federation/v1/invite/{roomId}/{eventId}` (`on_invite_request(...)`) and the invite membership is persisted as an outlier. The `room_memberships` and `local_current_membership` database tables are also updated which means they are visible down `/sync` at this point. 1. `@charlie1:hs2` decides to join because it saw the invite down `/sync`. Because `hs2` is not yet in the room, this happens as a remote join `make_join`/`send_join` which comes back with all of the auth events needed to auth successfully and now `@charlie1:hs2` is successfully joined to the room. 1. `@charlie2:hs2` is invited and and tries to join the room: 1. `hs1` invites `@charlie2:hs2` to the room which we receive on `hs2` as `PUT /_matrix/federation/v1/invite/{roomId}/{eventId}` (`on_invite_request(...)`) and the invite membership is persisted as an outlier. The `room_memberships` and `local_current_membership` database tables are also updated which means they are visible down `/sync` at this point. 1. Because `hs2` is already participating in the room, we also see the invite come over federation in a transaction and we start processing it (not done yet, see below) 1. `@charlie2:hs2` decides to join because it saw the invite down `/sync`. Because `hs2`, is already in the room, this happens as a local join but we deny the event because our `event_auth` logic thinks that we have no membership in the room
(expected to be able to join because we saw the invite down `/sync`) 1. We finally finish processing the `@charlie2:hs2` invite event from and de-outlier it. - If this finished before we tried to join we would have been fine but this is the race condition that makes this situation visible. Logs for `hs2`: ``` on_invite_request: handling event <FrozenEventV3 event_id=$PRPCvdXdcqyjdUKP_NxGF2CcukmwOaoK0ZR1WiVOZVk, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=invite, outlier=False> _store_room_members_txn update room_memberships: <FrozenEventV3 event_id=$PRPCvdXdcqyjdUKP_NxGF2CcukmwOaoK0ZR1WiVOZVk, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=invite, outlier=True> _store_room_members_txn update local_current_membership: <FrozenEventV3 event_id=$PRPCvdXdcqyjdUKP_NxGF2CcukmwOaoK0ZR1WiVOZVk, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=invite, outlier=True> Notifying about new event <FrozenEventV3 event_id=$PRPCvdXdcqyjdUKP_NxGF2CcukmwOaoK0ZR1WiVOZVk, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=invite, outlier=True> on_invite_request: handled event <FrozenEventV3 event_id=$PRPCvdXdcqyjdUKP_NxGF2CcukmwOaoK0ZR1WiVOZVk, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=invite, outlier=True> do_invite_join for @user-2-charlie1:hs2 in !sfZVBdLUezpPWetrol:hs1 _store_room_members_txn update room_memberships: <FrozenEventV3 event_id=$bwv8LxFnqfpsw_rhR7OrTjtz09gaJ23MqstKOcs7ygA, type=m.room.member, state_key=@user-1-alice:hs1, membership=join, outlier=True> _store_room_members_txn update room_memberships: <FrozenEventV3 event_id=$oju1ts3G3pz5O62IesrxX5is4LxAwU3WPr4xvid5ijI, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=join, outlier=False> Notifying about new event <FrozenEventV3 event_id=$oju1ts3G3pz5O62IesrxX5is4LxAwU3WPr4xvid5ijI, type=m.room.member, state_key=@user-2-charlie1:hs2, membership=join, outlier=False> ... on_invite_request: handling event <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=False> _store_room_members_txn update room_memberships: <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=True> _store_room_members_txn update local_current_membership: <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=True> Notifying about new event <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=True> on_invite_request: handled event <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=True> handling received PDU in room !sfZVBdLUezpPWetrol:hs1: <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=False> handle_new_client_event: handling <FrozenEventV3 event_id=$WNVDTQrxy5tCdPQHMyHyIn7tE4NWqKsZ8Bn8R4WbBSA, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=join, outlier=False> Denying new event <FrozenEventV3 event_id=$WNVDTQrxy5tCdPQHMyHyIn7tE4NWqKsZ8Bn8R4WbBSA, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=join, outlier=False> because 403: You are not invited to this room. synapse.http.server - 130 - INFO - POST-16 - <SynapseRequest at 0x7f460c91fbf0 method='POST' uri='/_matrix/client/v3/join/%21sfZVBdLUezpPWetrol:hs1?server_name=hs1' clientproto='HTTP/1.0' site='8080'> SynapseError: 403 - You are not invited to this room. Notifying about new event <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=False> handled received PDU in room !sfZVBdLUezpPWetrol:hs1: <FrozenEventV3 event_id=$O_54j7O--6xMsegY5EVZ9SA-mI4_iHJOIoRwYyeWIPY, type=m.room.member, state_key=@user-3-charlie2:hs2, membership=invite, outlier=False> ``` -
dependabot[bot] authored
Bumps [log](https://github.com/rust-lang/log) from 0.4.22 to 0.4.25. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/log/releases">log's releases</a>.</em></p> <blockquote> <h2>0.4.25</h2> <h2>What's Changed</h2> <ul> <li>Revert loosening of kv cargo features by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/662">rust-lang/log#662</a></li> <li>Prepare for 0.4.25 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/663">rust-lang/log#663</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.24...0.4.25">https://github.com/rust-lang/log/compare/0.4.24...0.4.25</a></p> <h2>0.4.24 (yanked)</h2> <h2>What's Changed</h2> <ul> <li>Fix up kv feature activation by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/659">rust-lang/log#659</a></li> <li>Prepare for 0.4.24 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/660">rust-lang/log#660</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.23...0.4.24">https://github.com/rust-lang/log/compare/0.4.23...0.4.24</a></p> <h2>0.4.23 (yanked)</h2> <h2>What's Changed</h2> <ul> <li>Fix some typos by <a href="https://github.com/Kleinmarb"><code>@Kleinmarb</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/637">rust-lang/log#637</a></li> <li>Add logforth to implementation by <a href="https://github.com/tisonkun"><code>@tisonkun</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/638">rust-lang/log#638</a></li> <li>Add <code>spdlog-rs</code> link to README by <a href="https://github.com/SpriteOvO"><code>@SpriteOvO</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/639">rust-lang/log#639</a></li> <li>Add correct lifetime to kv::Value::to_borrowed_str by <a href="https://github.com/stevenroose"><code>@stevenroose</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/643">rust-lang/log#643</a></li> <li>docs: Add logforth as an impl by <a href="https://github.com/tisonkun"><code>@tisonkun</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/642">rust-lang/log#642</a></li> <li>Add clang_log implementation by <a href="https://github.com/DDAN-17"><code>@DDAN-17</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/646">rust-lang/log#646</a></li> <li>Bind lifetimes of &str returned from Key by the lifetime of 'k rather than the lifetime of the Key struct by <a href="https://github.com/gbbosak"><code>@gbbosak</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/648">rust-lang/log#648</a> (reverted)</li> <li>Fix up key lifetimes and add method to try get a borrowed key by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/653">rust-lang/log#653</a></li> <li>Add Ftail implementation by <a href="https://github.com/tjardoo"><code>@tjardoo</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/652">rust-lang/log#652</a></li> <li>Relax feature flag for value's std_support by <a href="https://github.com/tisonkun"><code>@tisonkun</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/657">rust-lang/log#657</a></li> <li>Prepare for 0.4.23 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/656">rust-lang/log#656</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Kleinmarb"><code>@Kleinmarb</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/637">rust-lang/log#637</a></li> <li><a href="https://github.com/tisonkun"><code>@tisonkun</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/638">rust-lang/log#638</a></li> <li><a href="https://github.com/SpriteOvO"><code>@SpriteOvO</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/639">rust-lang/log#639</a></li> <li><a href="https://github.com/stevenroose"><code>@stevenroose</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/643">rust-lang/log#643</a></li> <li><a href="https://github.com/DDAN-17"><code>@DDAN-17</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/646">rust-lang/log#646</a></li> <li><a href="https://github.com/gbbosak"><code>@gbbosak</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/648">rust-lang/log#648</a></li> <li><a href="https://github.com/tjardoo"><code>@tjardoo</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/652">rust-lang/log#652</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.22...0.4.23">https://github.com/rust-lang/log/compare/0.4.22...0.4.23</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's changelog</a>.</em></p> <blockquote> <h2>[0.4.25] - 2025-01-14</h2> <h2>What's Changed</h2> <ul> <li>Revert loosening of kv cargo features by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/662">rust-lang/log#662</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.24...0.4.25">https://github.com/rust-lang/log/compare/0.4.24...0.4.25</a></p> <h2>[0.4.24] - 2025-01-11</h2> <h2>What's Changed</h2> <ul> <li>Fix up kv feature activation by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/659">rust-lang/log#659</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.23...0.4.24">https://github.com/rust-lang/log/compare/0.4.23...0.4.24</a></p> <h2>[0.4.23] - 2025-01-10 (yanked)</h2> <h2>What's Changed</h2> <ul> <li>Fix some typos by <a href="https://github.com/Kleinmarb"><code>@Kleinmarb</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/637">rust-lang/log#637</a></li> <li>Add logforth to implementation by <a href="https://github.com/tisonkun"><code>@tisonkun</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/638">rust-lang/log#638</a></li> <li>Add <code>spdlog-rs</code> link to README by <a href="https://github.com/SpriteOvO"><code>@SpriteOvO</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/639">rust-lang/log#639</a></li> <li>Add correct lifetime to kv::Value::to_borrowed_str by <a href="https://github.com/stevenroose"><code>@stevenroose</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/643">rust-lang/log#643</a></li> <li>docs: Add logforth as an impl by <a href="https://github.com/tisonkun"><code>@tisonkun</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/642">rust-lang/log#642</a></li> <li>Add clang_log implementation by <a href="https://github.com/DDAN-17"><code>@DDAN-17</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/646">rust-lang/log#646</a></li> <li>Bind lifetimes of &str returned from Key by the lifetime of 'k rather than the lifetime of the Key struct by <a href="https://github.com/gbbosak"><code>@gbbosak</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/648">rust-lang/log#648</a></li> <li>Fix up key lifetimes and add method to try get a borrowed key by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/653">rust-lang/log#653</a></li> <li>Add Ftail implementation by <a href="https://github.com/tjardoo"><code>@tjardoo</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/652">rust-lang/log#652</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Kleinmarb"><code>@Kleinmarb</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/637">rust-lang/log#637</a></li> <li><a href="https://github.com/tisonkun"><code>@tisonkun</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/638">rust-lang/log#638</a></li> <li><a href="https://github.com/SpriteOvO"><code>@SpriteOvO</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/639">rust-lang/log#639</a></li> <li><a href="https://github.com/stevenroose"><code>@stevenroose</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/643">rust-lang/log#643</a></li> <li><a href="https://github.com/DDAN-17"><code>@DDAN-17</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/646">rust-lang/log#646</a></li> <li><a href="https://github.com/gbbosak"><code>@gbbosak</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/648">rust-lang/log#648</a></li> <li><a href="https://github.com/tjardoo"><code>@tjardoo</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/652">rust-lang/log#652</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.22...0.4.23">https://github.com/rust-lang/log/compare/0.4.22...0.4.23</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/log/commit/22be810729014e1e43267fc62fe6df0d7a29aaf7"><code>22be810</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/663">#663</a> from rust-lang/cargo/0.4.25</li> <li><a href="https://github.com/rust-lang/log/commit/02797301236d45a8d6049fa20f803aacdb49f693"><code>0279730</code></a> prepare for 0.4.25 release</li> <li><a href="https://github.com/rust-lang/log/commit/4099bcb35761161d5bb2566cc956e05ca89bb351"><code>4099bcb</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/662">#662</a> from rust-lang/fix/cargo-features</li> <li><a href="https://github.com/rust-lang/log/commit/36e7e3f69636c484c94048bf5f56590a80d4c728"><code>36e7e3f</code></a> revert loosening of kv cargo features</li> <li><a href="https://github.com/rust-lang/log/commit/2282191854fa90a5769a5bd139614313f6dbe0b0"><code>2282191</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/660">#660</a> from rust-lang/cargo/0.4.24</li> <li><a href="https://github.com/rust-lang/log/commit/2994f0a62c1f479ca1fff2a2100fe07c8fb7bd29"><code>2994f0a</code></a> prepare for 0.4.24 release</li> <li><a href="https://github.com/rust-lang/log/commit/5fcb50eccd6913bab5ba2ff70b1d90617fba0c09"><code>5fcb50e</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/659">#659</a> from rust-lang/fix/feature-builds</li> <li><a href="https://github.com/rust-lang/log/commit/29fe9e60ff2e0239c1350394066a1871a9d9b9f3"><code>29fe9e6</code></a> fix up feature activation</li> <li><a href="https://github.com/rust-lang/log/commit/b1824f2c28bb1973b0b39f4bbd506a1803424b0a"><code>b1824f2</code></a> use cargo hack in CI to test all feature combinations</li> <li><a href="https://github.com/rust-lang/log/commit/e6b643d591597deaaa572b00bfd8176d4e6d4578"><code>e6b643d</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/656">#656</a> from rust-lang/cargo/0.4.23</li> <li>Additional commits viewable in <a href="https://github.com/rust-lang/log/compare/0.4.22...0.4.25">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores ) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 7 to 8. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dawidd6/action-download-artifact/releases">dawidd6/action-download-artifact's releases</a>.</em></p> <blockquote> <h2>v8</h2> <h2>New features</h2> <ul> <li><code>use_unzip</code> boolean input (defaulting to false) - if set to true, the action will use system provided <code>unzip</code> utility for unpacking downloaded artifact(s) (note that the action will first download the .zip artifact file, then unpack it and remove the .zip file)</li> </ul> <h2>What's Changed</h2> <ul> <li>README: v7 by <a href="https://github.com/haines"><code>@haines</code></a> in <a href="https://redirect.github.com/dawidd6/action-download-artifact/pull/318">dawidd6/action-download-artifact#318</a></li> <li>Unzip by <a href="https://github.com/dawidd6"><code>@dawidd6</code></a> in <a href="https://redirect.github.com/dawidd6/action-download-artifact/pull/325">dawidd6/action-download-artifact#325</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/haines"><code>@haines</code></a> made their first contribution in <a href="https://redirect.github.com/dawidd6/action-download-artifact/pull/318">dawidd6/action-download-artifact#318</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/dawidd6/action-download-artifact/compare/v7...v8">https://github.com/dawidd6/action-download-artifact/compare/v7...v8</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dawidd6/action-download-artifact/commit/20319c5641d495c8a52e688b7dc5fada6c3a9fbc"><code>20319c5</code></a> README: v8</li> <li><a href="https://github.com/dawidd6/action-download-artifact/commit/e58a9e5d14231715ece082f2068a0bd148cb72e6"><code>e58a9e5</code></a> Unzip (<a href="https://redirect.github.com/dawidd6/action-download-artifact/issues/325">#325</a>)</li> <li><a href="https://github.com/dawidd6/action-download-artifact/commit/6d05268723e4080b84fe8d5c0c5cd83226a81e5f"><code>6d05268</code></a> node_modules: update</li> <li><a href="https://github.com/dawidd6/action-download-artifact/commit/c03fb0c92813d0d9b088539572090518f7797df4"><code>c03fb0c</code></a> README: v7 (<a href="https://redirect.github.com/dawidd6/action-download-artifact/issues/318">#318</a>)</li> <li>See full diff in <a href="https://github.com/dawidd6/action-download-artifact/compare/80620a5d27ce0ae443b965134db88467fc607b43...20319c5641d495c8a52e688b7dc5fada6c3a9fbc">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores ) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Jan 24, 2025
-
-
Sven Mäder authored
-
- Jan 21, 2025
-
-
Max Kratz authored
Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
Till Faelligen authored
-
Till Faelligen authored
-
Quentin Gliech authored
See the updated MSC2965 --------- Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
Patrick Cloke authored
Implementation of [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133) to support custom profile fields. It is behind an experimental flag and includes tests. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters) ) --------- Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
- Jan 20, 2025
-
-
Eric Eastwood authored
-
Erik Johnston authored
Otherwise these can race with other long running queries and lock out all other queries. This caused problems in v1.22.0 as we added an index to `events` table in #17948, but that got interrupted and so next time we ran the background update we needed to delete the half-finished index. However, that got blocked behind some long running queries and then locked other queries out (stopping workers from even starting).
-
- Jan 16, 2025
-
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
- Jan 14, 2025
-
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
Andrew Morgan authored
-
- Jan 13, 2025
-
-
Eric Eastwood authored
It's possible to run into `SynapseError: 429 - Too Many Requests (rc_invites.per_issuer)` `rc_invites.per_issuer` originally introduced in https://github.com/matrix-org/synapse/pull/13125
-
- Jan 08, 2025
-
-
Eric Eastwood authored
This is particularly a problem in a state reset scenario where the membership might change without a corresponding event. This PR is targeting a scenario where a state reset happens which causes room membership to change. Previously, the cache would just hold onto stale data and now we properly bust the cache in this scenario. We have a few tests for these scenarios which you can see are now fixed because we can remove the `FIXME` where we were previously manually busting the cache in the test itself. This is a general Synapse thing so by it's nature it helps out Sliding Sync. Fix https://github.com/element-hq/synapse/issues/17368 Prerequisite for https://github.com/element-hq/synapse/issues/17929 --- Match when are busting `_curr_state_delta_stream_cache`
-
dependabot[bot] authored
-
Shay authored
Adds a query param `type` to `/_synapse/admin/v1/rooms/{room_id}/state` that filters the state event query by state event type. --------- Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
- Jan 07, 2025
-
-
Travis Ralston authored
It's been rotated out of known clients, and should be safe for removal now. Fixes https://github.com/element-hq/synapse/issues/17373 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
-
Olivier 'reivilibre authored
-
Olivier 'reivilibre authored
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Olivier 'reivilibre authored
-
- Jan 06, 2025
-
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
-
dependabot[bot] authored
-
Mathieu Velten authored
Currently purging a complex room can lead to a lot of orphaned rows left behind in the state groups tables. It seems it is because we are loosing track of state groups sometimes. This change uses the `room_id` indexed column of `state_groups` table to decide what to delete instead of doing an indirection through `event_to_state_groups`. Related to https://github.com/element-hq/synapse/issues/3364. ### Pull Request Checklist * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters) ) --------- Co-authored-by:
Erik Johnston <erikj@jki.re>
-
- Jan 03, 2025
-
-
Patrick Cloke authored
Refactor `get_profile` to avoid returning "empty" (`None` / `null`) fields. Currently this is not very important, but will be more useful once #17488 lands. It does update the servlet to use this now which has a minor change in behavior: additional fields served over federation will now be properly sent back to clients. It also adds constants for `avatar_url` / `displayname` although I did not attempt to use it everywhere possible.
-
Shay authored
Add a test to verify remote user messages can be redacted via admin api redaction endpoint if requester is admin in room (#18043)
-
- Dec 23, 2024
-
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
-