Merge branch 'server-server-opt' into 'master'
Remove unneeded intermediary container collection See merge request famedly/conduit!183
This commit is contained in:
		
						commit
						17adf096e9
					
				
					 1 changed files with 21 additions and 26 deletions
				
			
		|  | @ -1397,39 +1397,34 @@ async fn upgrade_outlier_to_timeline_pdu( | ||||||
|             extremity_sstatehashes.insert(sstatehash, prev_event); |             extremity_sstatehashes.insert(sstatehash, prev_event); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         let mut fork_states = Vec::new(); |  | ||||||
| 
 |  | ||||||
|         if okay { |         if okay { | ||||||
|             for (sstatehash, prev_event) in extremity_sstatehashes { |             let fork_states: Vec<_> = extremity_sstatehashes | ||||||
|                 let mut leaf_state = db |  | ||||||
|                     .rooms |  | ||||||
|                     .state_full_ids(sstatehash) |  | ||||||
|                     .map_err(|_| "Failed to ask db for room state.".to_owned())?; |  | ||||||
| 
 |  | ||||||
|                 if let Some(state_key) = &prev_event.state_key { |  | ||||||
|                     let shortstatekey = db |  | ||||||
|                         .rooms |  | ||||||
|                         .get_or_create_shortstatekey(&prev_event.kind, state_key, &db.globals) |  | ||||||
|                         .map_err(|_| "Failed to create shortstatekey.".to_owned())?; |  | ||||||
|                     leaf_state.insert(shortstatekey, Arc::new(prev_event.event_id.clone())); |  | ||||||
|                     // Now it's the state after the pdu
 |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 fork_states.push(leaf_state); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             let fork_states = &fork_states |  | ||||||
|                 .into_iter() |                 .into_iter() | ||||||
|                 .map(|map| { |                 .map(|(sstatehash, prev_event)| { | ||||||
|                     map.into_iter() |                     let mut leaf_state = db | ||||||
|  |                         .rooms | ||||||
|  |                         .state_full_ids(sstatehash) | ||||||
|  |                         .map_err(|_| "Failed to ask db for room state.".to_owned())?; | ||||||
|  | 
 | ||||||
|  |                     if let Some(state_key) = &prev_event.state_key { | ||||||
|  |                         let shortstatekey = db | ||||||
|  |                             .rooms | ||||||
|  |                             .get_or_create_shortstatekey(&prev_event.kind, state_key, &db.globals) | ||||||
|  |                             .map_err(|_| "Failed to create shortstatekey.".to_owned())?; | ||||||
|  |                         leaf_state.insert(shortstatekey, Arc::new(prev_event.event_id.clone())); | ||||||
|  |                         // Now it's the state after the pdu
 | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     leaf_state | ||||||
|  |                         .into_iter() | ||||||
|                         .map(|(k, id)| (db.rooms.get_statekey_from_short(k).map(|k| (k, id)))) |                         .map(|(k, id)| (db.rooms.get_statekey_from_short(k).map(|k| (k, id)))) | ||||||
|                         .collect::<Result<StateMap<_>>>() |                         .collect::<Result<StateMap<_>>>() | ||||||
|  |                         .map_err(|_| "Failed to get_statekey_from_short.".to_owned()) | ||||||
|                 }) |                 }) | ||||||
|                 .collect::<Result<Vec<_>>>() |                 .collect::<StdResult<_, _>>()?; | ||||||
|                 .map_err(|_| "Failed to get_statekey_from_short.".to_owned())?; |  | ||||||
| 
 | 
 | ||||||
|             let mut auth_chain_sets = Vec::new(); |             let mut auth_chain_sets = Vec::new(); | ||||||
|             for state in fork_states { |             for state in &fork_states { | ||||||
|                 auth_chain_sets.push( |                 auth_chain_sets.push( | ||||||
|                     get_auth_chain( |                     get_auth_chain( | ||||||
|                         &room_id, |                         &room_id, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue