mirror of
				https://git.anonymousland.org/anonymousland/synapse.git
				synced 2025-10-30 21:29:09 -04:00 
			
		
		
		
	Make redaction retention period configurable
This commit is contained in:
		
							parent
							
								
									549f974897
								
							
						
					
					
						commit
						3ff0422d2d
					
				
					 4 changed files with 27 additions and 3 deletions
				
			
		|  | @ -162,6 +162,16 @@ class ServerConfig(Config): | |||
| 
 | ||||
|         self.mau_trial_days = config.get("mau_trial_days", 0) | ||||
| 
 | ||||
|         # How long to keep redacted events in the database in unredacted form | ||||
|         # before redacting them. | ||||
|         redaction_retention_period = config.get("redaction_retention_period") | ||||
|         if redaction_retention_period: | ||||
|             self.redaction_retention_period = self.parse_duration( | ||||
|                 redaction_retention_period | ||||
|             ) | ||||
|         else: | ||||
|             self.redaction_retention_period = None | ||||
| 
 | ||||
|         # Options to disable HS | ||||
|         self.hs_disabled = config.get("hs_disabled", False) | ||||
|         self.hs_disabled_message = config.get("hs_disabled_message", "") | ||||
|  | @ -718,6 +728,11 @@ class ServerConfig(Config): | |||
|         # Defaults to 'true'. | ||||
|         # | ||||
|         #allow_per_room_profiles: false | ||||
| 
 | ||||
|         # How long to keep redacted events in unredacted form in the database. | ||||
|         # By default redactions are kept indefinitely. | ||||
|         # | ||||
|         #redaction_retention_period: 30d | ||||
|         """ | ||||
|             % locals() | ||||
|         ) | ||||
|  |  | |||
|  | @ -1566,10 +1566,12 @@ class EventsStore( | |||
|             Deferred | ||||
|         """ | ||||
| 
 | ||||
|         if self.stream_ordering_month_ago is None: | ||||
|         if not self.hs.config.redaction_retention_period: | ||||
|             return | ||||
| 
 | ||||
|         max_pos = self.stream_ordering_month_ago | ||||
|         max_pos = yield self.find_first_stream_ordering_after_ts( | ||||
|             self._clock.time_msec() - self.hs.config.redaction_retention_period | ||||
|         ) | ||||
| 
 | ||||
|         # We fetch all redactions that point to an event that we have that has | ||||
|         # a stream ordering from over a month ago, that we haven't yet censored | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Erik Johnston
						Erik Johnston