fix: migration and push edu bugs
This commit is contained in:
		
							parent
							
								
									5df6b8cd5f
								
							
						
					
					
						commit
						dc85a8fafd
					
				
					 3 changed files with 23 additions and 27 deletions
				
			
		
							
								
								
									
										6
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							|  | @ -944,7 +944,7 @@ dependencies = [ | |||
| [[package]] | ||||
| name = "heed" | ||||
| version = "0.10.6" | ||||
| source = "git+https://github.com/timokoesters/heed.git?rev=c6b149fd5621999b0d5ef0c28e199015cfc60fa1#c6b149fd5621999b0d5ef0c28e199015cfc60fa1" | ||||
| source = "git+https://github.com/timokoesters/heed.git?rev=f6f825da7fb2c758867e05ad973ef800a6fe1d5d#f6f825da7fb2c758867e05ad973ef800a6fe1d5d" | ||||
| dependencies = [ | ||||
|  "bytemuck", | ||||
|  "byteorder", | ||||
|  | @ -962,12 +962,12 @@ dependencies = [ | |||
| [[package]] | ||||
| name = "heed-traits" | ||||
| version = "0.7.0" | ||||
| source = "git+https://github.com/timokoesters/heed.git?rev=c6b149fd5621999b0d5ef0c28e199015cfc60fa1#c6b149fd5621999b0d5ef0c28e199015cfc60fa1" | ||||
| source = "git+https://github.com/timokoesters/heed.git?rev=f6f825da7fb2c758867e05ad973ef800a6fe1d5d#f6f825da7fb2c758867e05ad973ef800a6fe1d5d" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "heed-types" | ||||
| version = "0.7.2" | ||||
| source = "git+https://github.com/timokoesters/heed.git?rev=c6b149fd5621999b0d5ef0c28e199015cfc60fa1#c6b149fd5621999b0d5ef0c28e199015cfc60fa1" | ||||
| source = "git+https://github.com/timokoesters/heed.git?rev=f6f825da7fb2c758867e05ad973ef800a6fe1d5d#f6f825da7fb2c758867e05ad973ef800a6fe1d5d" | ||||
| dependencies = [ | ||||
|  "bincode", | ||||
|  "bytemuck", | ||||
|  |  | |||
|  | @ -430,8 +430,8 @@ impl Database { | |||
|                 // Upgrade user data store
 | ||||
|                 for (roomuserdataid, _) in db.account_data.roomuserdataid_accountdata.iter() { | ||||
|                     let mut parts = roomuserdataid.split(|&b| b == 0xff); | ||||
|                     let user_id = parts.next().unwrap(); | ||||
|                     let room_id = parts.next().unwrap(); | ||||
|                     let user_id = parts.next().unwrap(); | ||||
|                     let event_type = roomuserdataid.rsplit(|&b| b == 0xff).next().unwrap(); | ||||
| 
 | ||||
|                     let mut key = room_id.to_vec(); | ||||
|  |  | |||
|  | @ -599,8 +599,7 @@ impl Sending { | |||
|                     match event { | ||||
|                         SendingEventType::Pdu(pdu_id) => { | ||||
|                             // TODO: check room version and remove event_id if needed
 | ||||
|                             pdu_jsons.push(serde_json::from_str( | ||||
|                                 PduEvent::convert_to_outgoing_federation_event( | ||||
|                             let raw = PduEvent::convert_to_outgoing_federation_event( | ||||
|                                 db.rooms | ||||
|                                     .get_pdu_json_from_id(&pdu_id) | ||||
|                                     .map_err(|e| (OutgoingKind::Normal(server.clone()), e))? | ||||
|  | @ -612,16 +611,13 @@ impl Sending { | |||
|                                             ), | ||||
|                                         ) | ||||
|                                     })?, | ||||
|                                 ) | ||||
|                                 .json() | ||||
|                                 .get(), | ||||
|                             ) | ||||
|                             .expect("Raw<..> is always valid")); | ||||
|                             ); | ||||
|                             pdu_jsons.push(raw); | ||||
|                         } | ||||
|                         SendingEventType::Edu(edu) => { | ||||
|                             edu_jsons.push( | ||||
|                                 serde_json::from_slice(edu).expect("Raw<..> is always valid"), | ||||
|                             ); | ||||
|                             if let Ok(raw) = serde_json::from_slice(edu) { | ||||
|                                 edu_jsons.push(raw); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|  | @ -689,7 +685,7 @@ impl Sending { | |||
|                     Error::bad_database("Invalid server string in server_currenttransaction") | ||||
|                 })?), | ||||
|                 if event.starts_with(b"*") { | ||||
|                     SendingEventType::Edu(value.to_vec()) | ||||
|                     SendingEventType::Edu(value) | ||||
|                 } else { | ||||
|                     SendingEventType::Pdu(event.to_vec()) | ||||
|                 }, | ||||
|  | @ -707,7 +703,7 @@ impl Sending { | |||
|             ( | ||||
|                 OutgoingKind::Push(user.to_vec(), pushkey.to_vec()), | ||||
|                 if event.starts_with(b"*") { | ||||
|                     SendingEventType::Edu(event[1..].to_vec()) | ||||
|                     SendingEventType::Edu(value) | ||||
|                 } else { | ||||
|                     SendingEventType::Pdu(event.to_vec()) | ||||
|                 }, | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue