Anshul Madnawat
							
						 
						
							 
							
							
								
								
							
							
								
							
								58f8305114 
								
									
								
							
								 
							
						 
						
							
							
								
								Inline SQL queries using boolean parameters ( #15525 )  
							
							 
							
							... 
							
							
							
							SQLite now supports TRUE and FALSE constants, simplify some
queries by inlining those instead of passing them as arguments. 
							
						 
						
							2023-07-26 18:45:47 +00:00  
						
					 
				
					
						
							
							
								 
								Mathieu Velten
							
						 
						
							 
							
							
								
								
							
							
								
							
								8ebfd577e2 
								
									
								
							
								 
							
						 
						
							
							
								
								Bump DB version to 79 since synapse v1.88 was already there ( #15998 )  
							
							 
							
							
							
						 
						
							2023-07-26 14:51:44 +02:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								f08d05dd2c 
								
									
								
							
								 
							
						 
						
							
							
								
								Actually stop reading from column `user_id` of tables `profiles` ( #15955 )  
							
							 
							
							
							
						 
						
							2023-07-23 16:30:54 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								fc1e534e41 
								
									
								
							
								 
							
						 
						
							
							
								
								Speed up updating state in large rooms ( #15971 )  
							
							 
							
							... 
							
							
							
							This should speed up updating state in rooms with lots of state. 
							
						 
						
							2023-07-20 15:51:28 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								19796e20aa 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix bad merge of  #15933  ( #15958 )  
							
							 
							
							... 
							
							
							
							This was because we reverted the bump of the schema version, so we were not applying the new deltas. 
							
						 
						
							2023-07-19 12:17:08 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								40a3583ba1 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix race in triggers for read/write locks. ( #15933 )  
							
							 
							
							
							
						 
						
							2023-07-19 12:06:38 +01:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								cb6e2c6cc7 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix background schema updates failing over a large upgrade gap ( #15887 )  
							
							 
							
							
							
						 
						
							2023-07-18 16:59:27 -07:00  
						
					 
				
					
						
							
							
								 
								Olivier Wilkinson (reivilibre)
							
						 
						
							 
							
							
							
								
							
								8e8431bc6e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into develop  
							
							 
							
							
							
						 
						
							2023-07-18 16:45:39 +01:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								6d81aec09f 
								
									
								
							
								 
							
						 
						
							
							
								
								Support room version 11 ( #15912 )  
							
							 
							
							... 
							
							
							
							And fix a bug in the implementation of the updated redaction
format (MSC2174) where the top-level redacts field was not
properly added for backwards-compatibility. 
							
						 
						
							2023-07-18 08:44:59 -04:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								e625c3dca0 
								
									
								
							
								 
							
						 
						
							
							
								
								Revert "Stop writing to column `user_id` of tables `profiles` and `user_filters`. ( #15953 )  
							
							 
							
							... 
							
							
							
							* Revert "Stop writing to column `user_id` of tables `profiles` and `user_filters` (#15787 )"
This reverts commit f25b0f8808 .
* newsfragement 
							
						 
						
							2023-07-18 11:44:09 +01:00  
						
					 
				
					
						
							
							
								 
								Mathieu Velten
							
						 
						
							 
							
							
								
								
							
							
								
							
								8eb7bb975e 
								
									
								
							
								 
							
						 
						
							
							
								
								Mark get_user_in_directory private since only used in tests ( #15884 )  
							
							 
							
							
							
						 
						
							2023-07-12 11:09:13 +02:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								e55a9b3e41 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix downgrading to previous version of Synapse ( #15907 )  
							
							 
							
							... 
							
							
							
							We do this by marking the constraint as deferrable. 
							
						 
						
							2023-07-10 16:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								f25b0f8808 
								
									
								
							
								 
							
						 
						
							
							
								
								Stop writing to column `user_id` of tables `profiles` and `user_filters` ( #15787 )  
							
							 
							
							
							
						 
						
							2023-07-07 09:23:27 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								39d131b016 
								
									
								
							
								 
							
						 
						
							
							
								
								Add basic read/write lock ( #15782 )  
							
							 
							
							
							
						 
						
							2023-07-05 17:25:00 +01:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								ce857c05d5 
								
									
								
							
								 
							
						 
						
							
							
								
								Add tracing to media `/upload` endpoint ( #15850 )  
							
							 
							
							... 
							
							
							
							Add tracing instrumentation to media `/upload` code paths to investigate https://github.com/matrix-org/synapse/issues/15841  
							
						 
						
							2023-07-05 10:22:21 -05:00  
						
					 
				
					
						
							
							
								 
								Jason Little
							
						 
						
							 
							
							
								
								
							
							
								
							
								4cf9f92f39 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix could not serialize access due to concurrent `DELETE` from presence_stream ( #15826 )  
							
							 
							
							... 
							
							
							
							* Change update_presence to have a isolation level of READ_COMMITTED
* changelog 
							
						 
						
							2023-07-05 11:44:02 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								95a96b21eb 
								
									
								
							
								 
							
						 
						
							
							
								
								Add foreign key constraint to `event_forward_extremities`. ( #15751 )  
							
							 
							
							
							
						 
						
							2023-07-05 09:43:19 +00:00  
						
					 
				
					
						
							
							
								 
								Michael Weimann
							
						 
						
							 
							
							
								
								
							
							
								
							
								c8e81898b6 
								
									
								
							
								 
							
						 
						
							
							
								
								Add not_user_type param to the list accounts admin API ( #15844 )  
							
							 
							
							... 
							
							
							
							Signed-off-by: Michael Weimann <michaelw@element.io> 
							
						 
						
							2023-07-04 15:03:20 -07:00  
						
					 
				
					
						
							
							
								 
								pacien
							
						 
						
							 
							
							
								
								
							
							
								
							
								07d7cbfe69 
								
									
								
							
								 
							
						 
						
							
							
								
								devices: use combined ANY clause for faster cleanup ( #15861 )  
							
							 
							
							... 
							
							
							
							Old device entries for the same user were being removed in individual
SQL commands, making the batch take way longer than necessary.
This combines the commands into a single one with a IN/ANY clause.
Example of log entry before the change, regularly observed with
"log_min_duration_statement = 10000" in PostgreSQL's config:
    LOG:  duration: 42538.282 ms  statement:
    DELETE FROM device_lists_stream
    WHERE user_id = '@someone' AND device_id = 'someid1'
    AND stream_id < 123456789
    ;
    DELETE FROM device_lists_stream
    WHERE user_id = '@someone' AND device_id = 'someid2'
    AND stream_id < 123456789
    ;
    [repeated for each device ID of that user, potentially a lot...]
With the patch applied on my instance for the past couple of days, I
no longer notice overly long statements of that particular kind.
Signed-off-by: pacien <pacien.trangirard@pacien.net> 
							
						 
						
							2023-07-03 16:39:38 +02:00  
						
					 
				
					
						
							
							
								 
								reivilibre
							
						 
						
							 
							
							
								
								
							
							
								
							
								53aa26eddc 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a timeout that aborts any Postgres statement taking more than 1 hour. ( #15853 )  
							
							 
							
							... 
							
							
							
							* Add a timeout to Postgres statements
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org> 
							
						 
						
							2023-07-03 11:38:57 +01:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								78cfa55dad 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix sqlite `user_filters` upgrade ( #15817 )  
							
							 
							
							
							
						 
						
							2023-06-27 09:41:42 +01:00  
						
					 
				
					
						
							
							
								 
								Nicolas Werner
							
						 
						
							 
							
							
								
								
							
							
								
							
								e0c39d6bb5 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix forgotten rooms missing in initial sync ( #15815 )  
							
							 
							
							... 
							
							
							
							If you leave a room and forget it, then rejoin it, the room would be
missing from the next initial sync.
fixes  #13262 
Signed-off-by: Nicolas Werner <n.werner@famedly.com> 
							
						 
						
							2023-06-21 14:56:31 +01:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								0f02f0b4da 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove experimental MSC2716 implementation to incrementally import history into existing rooms ( #15748 )  
							
							 
							
							... 
							
							
							
							Context for why we're removing the implementation:
 - https://github.com/matrix-org/matrix-spec-proposals/pull/2716#issuecomment-1487441010 
 - https://github.com/matrix-org/matrix-spec-proposals/pull/2716#issuecomment-1504262734 
Anyone wanting to continue MSC2716, should also address these leftover tasks: https://github.com/matrix-org/synapse/issues/10737 
Closes https://github.com/matrix-org/synapse/issues/10737  in the fact that it is not longer necessary to track those things. 
							
						 
						
							2023-06-16 14:12:24 -05:00  
						
					 
				
					
						
							
							
								 
								Andrew Morgan
							
						 
						
							 
							
							
								
								
							
							
								
							
								2ac6c3bbb5 
								
									
								
							
								 
							
						 
						
							
							
								
								Don't always lock "user_ips" table when performing non-native upsert ( #15788 )  
							
							 
							
							
							
						 
						
							2023-06-16 15:25:44 +01:00  
						
					 
				
					
						
							
							
								 
								Jason Little
							
						 
						
							 
							
							
								
								
							
							
								
							
								21fea6b749 
								
									
								
							
								 
							
						 
						
							
							
								
								Prefill events after invalidate not before when persisting events ( #15758 )  
							
							 
							
							... 
							
							
							
							Fixes  #15757  
							
						 
						
							2023-06-14 09:42:18 +01:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								553f2f53e7 
								
									
								
							
								 
							
						 
						
							
							
								
								Replace `EventContext` fields `prev_group` and `delta_ids` with field `state_group_deltas` ( #15233 )  
							
							 
							
							
							
						 
						
							2023-06-13 13:22:06 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								c485ed1c5a 
								
									
								
							
								 
							
						 
						
							
							
								
								Clear event caches when we purge history ( #15609 )  
							
							 
							
							... 
							
							
							
							This should help a little with #13476 
---------
Co-authored-by: Patrick Cloke <patrickc@matrix.org> 
							
						 
						
							2023-06-08 13:14:40 +01:00  
						
					 
				
					
						
							
							
								 
								David Robertson
							
						 
						
							 
							
							
								
								
							
							
								
							
								d162aecaac 
								
									
								
							
								 
							
						 
						
							
							
								
								Quick & dirty metric for background update status ( #15740 )  
							
							 
							
							... 
							
							
							
							* Quick & dirty metric for background update status
* Changelog
* Remove debug
Co-authored-by: Mathieu Velten <mathieuv@matrix.org>
* Actually write to _aborted
---------
Co-authored-by: Mathieu Velten <mathieuv@matrix.org> 
							
						 
						
							2023-06-07 17:12:23 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								e536f02f68 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove superfluous `room_memberships` join from background update ( #15733 )  
							
							 
							
							... 
							
							
							
							Spawning from https://github.com/matrix-org/synapse/pull/15731  
							
						 
						
							2023-06-07 11:47:01 -05:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8934c11935 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into develop  
							
							 
							
							
							
						 
						
							2023-06-07 14:45:19 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								f7c6553ebc 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix schema delta error in 1.85 ( #15739 )  
							
							 
							
							... 
							
							
							
							Some users seem to have multiple rows per user / room with a null thread
ID, which we need to handle. 
							
						 
						
							2023-06-07 13:02:42 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								a701c089fa 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix schema delta error in 1.85 ( #15738 )  
							
							 
							
							... 
							
							
							
							There appears to be a race where you can end up with entries in
`event_push_summary` with both a `NULL` and `main` thread ID.
Fixes  #15736 
Introduced in #15597  
							
						 
						
							2023-06-07 10:50:32 +01:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								9d911b0da6 
								
									
								
							
								 
							
						 
						
							
							
								
								No need for the extra join since `membership` is built-in to `current_state_events` ( #15731 )  
							
							 
							
							... 
							
							
							
							This helps with the upstream `is_host_joined()` and `is_host_invited()` functions.
`membership` was added to `current_state_events` in https://github.com/matrix-org/synapse/pull/5706  and forced in https://github.com/matrix-org/synapse/pull/13745  
							
						 
						
							2023-06-06 22:19:57 -05:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								6ee96e9366 
								
									
								
							
								 
							
						 
						
							
							
								
								Improve performance of user directory search ( #15729 )  
							
							 
							
							
							
						 
						
							2023-06-06 21:16:03 +01:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								f880e64b11 
								
									
								
							
								 
							
						 
						
							
							
								
								Stabilize support for MSC3952: Intentional mentions. ( #15520 )  
							
							 
							
							
							
						 
						
							2023-06-06 09:11:07 +01:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								d0c4257f14 
								
									
								
							
								 
							
						 
						
							
							
								
								`N + 3`: Read from column `full_user_id` rather than `user_id` of tables `profiles` and `user_filters`  ( #15649 )  
							
							 
							
							
							
						 
						
							2023-06-02 17:24:13 -07:00  
						
					 
				
					
						
							
							
								 
								Mathieu Velten
							
						 
						
							 
							
							
								
								
							
							
								
							
								e0f2429d13 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a catch-all * to the supported relation types when redacting ( #15705 )  
							
							 
							
							... 
							
							
							
							This is an update to MSC3912 implementation 
							
						 
						
							2023-06-02 13:13:50 +00:00  
						
					 
				
					
						
							
							
								 
								H. Shay
							
						 
						
							 
							
							
							
								
							
								8af29155ec 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'release-v1.85' into develop  
							
							 
							
							
							
						 
						
							2023-06-01 10:26:37 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								5ed0e8c61f 
								
									
								
							
								 
							
						 
						
							
							
								
								Cache requests for user's devices from federation ( #15675 )  
							
							 
							
							... 
							
							
							
							This should mitigate the issue where lots of different servers requests
the same user's devices all at once. 
							
						 
						
							2023-06-01 13:25:20 +00:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								6d9e2fd878 
								
									
								
							
								 
							
						 
						
							
							
								
								Speed up background jobs populate_full_user_id_user_filters and populate_full_user_id_profiles ( #15700 )  
							
							 
							
							
							
						 
						
							2023-05-31 15:13:48 -07:00  
						
					 
				
					
						
							
							
								 
								reivilibre
							
						 
						
							 
							
							
								
								
							
							
								
							
								11e15d79b8 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix a performance issue introduced in Synapse v1.83.0 which meant that purging rooms was very slow and database-intensive. ( #15693 )  
							
							 
							
							... 
							
							
							
							* Add indices required to efficiently validate new foreign key constraints on stream_ordering
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org> 
							
						 
						
							2023-05-31 14:59:56 +01:00  
						
					 
				
					
						
							
							
								 
								Gabriel Féron
							
						 
						
							 
							
							
								
								
							
							
								
							
								daf3a67908 
								
									
								
							
								 
							
						 
						
							
							
								
								Add get_canonical_room_alias to module API ( #15450 )  
							
							 
							
							... 
							
							
							
							Co-authored-by: Boxdot <d@zerovolt.org> 
							
						 
						
							2023-05-31 09:18:37 -04:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								2ad91ec628 
								
									
								
							
								 
							
						 
						
							
							
								
								Set thread_id column to non-null for event_push_{actions,actions_staging,summary} ( #15597 )  
							
							 
							
							... 
							
							
							
							Updates the database schema to require a thread_id (by adding a
constraint that the column is non-null) for event_push_actions,
event_push_actions_staging, and event_push_actions_summary.
For PostgreSQL we add the constraint as NOT VALID, then
VALIDATE the constraint a background job to avoid locking
the table during an upgrade.
Each table is updated as a separate schema delta to avoid
deadlocks between them.
For SQLite we simply rebuild the table & copy the data. 
							
						 
						
							2023-05-26 13:16:08 -04:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								77156a4bc1 
								
									
								
							
								 
							
						 
						
							
							
								
								Process previously failed backfill events in the background ( #15585 )  
							
							 
							
							... 
							
							
							
							Process previously failed backfill events in the background because they are bound to fail again and we don't need to waste time holding up the request for something that is bound to fail again.
Fix https://github.com/matrix-org/synapse/issues/13623 
Follow-up to https://github.com/matrix-org/synapse/issues/13621  and https://github.com/matrix-org/synapse/issues/13622 
Part of making `/messages` faster: https://github.com/matrix-org/synapse/issues/13356  
							
						 
						
							2023-05-24 23:22:24 -05:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								c7e9c1d5ae 
								
									
								
							
								 
							
						 
						
							
							
								
								Speed up user directory rebuild for users some more... ( #15665 )  
							
							 
							
							
							
						 
						
							2023-05-24 14:13:28 +00:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								1f55c04cbc 
								
									
								
							
								 
							
						 
						
							
							
								
								Improve type hints for cached decorator. ( #15658 )  
							
							 
							
							... 
							
							
							
							The cached decorators always return a Deferred, which was not
properly propagated. It was close enough when wrapping coroutines,
but failed if a bare function was wrapped. 
							
						 
						
							2023-05-24 12:59:31 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								379eb2d7ab 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix `@trace` not wrapping some state methods that return coroutines correctly ( #15647 )  
							
							 
							
							... 
							
							
							
							```
2023-05-21 09:30:09,288 - synapse.logging.opentracing - 940 - ERROR - POST-1 - @trace may not have wrapped StateStorageController.get_state_for_groups correctly! The function is not async but returned a coroutine
```
Tracing instrumentation for these functions originally introduced in https://github.com/matrix-org/synapse/pull/15610  
							
						 
						
							2023-05-23 12:26:25 -05:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								703a8f9c67 
								
									
								
							
								 
							
						 
						
							
							
								
								Instrument `state` and `state_group` storage related things (tracing) ( #15610 )  
							
							 
							
							... 
							
							
							
							Instrument `state` and `state_group` storage related things (tracing) so it's a little more clear where these database transactions are coming from as there is a lot of wires crossing in these functions.
Part of `/messages` performance investigation: https://github.com/matrix-org/synapse/issues/13356  
							
						 
						
							2023-05-19 12:26:58 -05:00  
						
					 
				
					
						
							
							
								 
								reivilibre
							
						 
						
							 
							
							
								
								
							
							
								
							
								736199b763 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove old R30 because R30v2 supercedes it ( #10428 )  
							
							 
							
							... 
							
							
							
							R30v2 has been out since 2021-07-19 (https://github.com/matrix-org/synapse/pull/10332 )
and we started collecting stats on 2021-08-16. Since it's been over a year now
(almost 2 years), this is enough grace period for us to now rip it out. 
							
						 
						
							2023-05-19 11:13:44 -05:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								1e89976b26 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename blacklist/whitelist internally. ( #15620 )  
							
							 
							
							... 
							
							
							
							Avoid renaming configuration settings for now and rename internal code
to use blocklist and allowlist instead. 
							
						 
						
							2023-05-19 12:25:25 +00:00