ssb: Try harder to replicate profile images, even if they were set before our blob replication cutoff.
	
		
			
	
		
	
	
		
	
		
			Some checks are pending
		
		
	
	
		
			
				
	
				Build Tilde Friends / Build-All (push) Waiting to run
				
			
		
		
	
	
				
					
				
			
		
			Some checks are pending
		
		
	
	Build Tilde Friends / Build-All (push) Waiting to run
				
			This commit is contained in:
		
							
								
								
									
										27
									
								
								src/ssb.db.c
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								src/ssb.db.c
									
									
									
									
									
								
							| @@ -233,13 +233,28 @@ void tf_ssb_db_init(tf_ssb_t* ssb) | ||||
| 	_tf_ssb_db_exec(db, "DROP VIEW IF EXISTS blob_wants_view"); | ||||
| 	_tf_ssb_db_exec(db, | ||||
| 		"CREATE VIEW IF NOT EXISTS blob_wants_view (id, timestamp) AS " | ||||
| 		"  SELECT messages_refs.ref AS id, messages.timestamp AS timestamp " | ||||
| 		"  FROM messages_refs " | ||||
| 		"  JOIN messages ON messages.id = messages_refs.message " | ||||
| 		"  LEFT OUTER JOIN blobs ON messages_refs.ref = blobs.id " | ||||
| 		"  WITH wanted AS ( " | ||||
| 		"    SELECT messages_refs.ref AS id, messages.timestamp AS timestamp " | ||||
| 		"    FROM messages_refs " | ||||
| 		"    JOIN messages ON messages.id = messages_refs.message " | ||||
| 		"    UNION " | ||||
| 		"    SELECT image as id, unixepoch() AS timestamp " | ||||
| 		"    FROM (" | ||||
| 		"      SELECT " | ||||
| 		"        messages.author, " | ||||
| 		"        RANK() OVER (PARTITION BY messages.author ORDER BY messages.sequence DESC) AS author_rank, " | ||||
| 		"        COALESCE(messages.content ->> '$.image.link', messages.content ->> 'image') AS image " | ||||
| 		"      FROM messages " | ||||
| 		"      WHERE " | ||||
| 		"        json_extract(messages.content, '$.type') = 'about' AND " | ||||
| 		"        content ->> 'about' = messages.author AND image IS NOT NULL " | ||||
| 		"    ) WHERE author_rank = 1 " | ||||
| 		"  ) " | ||||
| 		"  SELECT wanted.id, wanted.timestamp FROM wanted " | ||||
| 		"  LEFT OUTER JOIN blobs ON wanted.id = blobs.id " | ||||
| 		"  WHERE blobs.id IS NULL " | ||||
| 		"    AND LENGTH(messages_refs.ref) = 52 " | ||||
| 		"    AND messages_refs.ref LIKE '&%.sha256'"); | ||||
| 		"    AND LENGTH(wanted.id) = 52 " | ||||
| 		"    AND wanted.id LIKE '&%.sha256'"); | ||||
|  | ||||
| 	bool need_add_flags = true; | ||||
| 	bool need_convert_timestamp_to_real = false; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user