| 
					
				 | 
			
			
				@@ -15,7 +15,6 @@ pub struct SpircManager<'s, D: SpircDelegate> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     delegate: D, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     session: &'s Session, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    username: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state_update_id: i64, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     seq_nr: u32, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -61,12 +60,11 @@ pub trait SpircState { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 impl <'s, D: SpircDelegate> SpircManager<'s, D> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pub fn new(session: &'s Session, delegate: D, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               username: String, name: String) -> SpircManager<'s, D> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               name: String) -> SpircManager<'s, D> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SpircManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             delegate: delegate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             session: &session, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            username: username.clone(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state_update_id: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             seq_nr: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -91,7 +89,8 @@ impl <'s, D: SpircDelegate> SpircManager<'s, D> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pub fn run(&mut self) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let rx = self.session.mercury_sub(format!("hm://remote/3/user/{}/", self.username)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let rx = self.session.mercury_sub(format!("hm://remote/3/user/{}/",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    self.session.0.data.read().unwrap().canonical_username.clone())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let updates = self.delegate.updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         loop { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -192,7 +191,8 @@ impl <'s, D: SpircDelegate> SpircManager<'s, D> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.session.mercury(MercuryRequest{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             method: MercuryMethod::SEND, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            uri: format!("hm://remote/user/{}", self.username), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uri: format!("hm://remote/user/{}",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         self.session.0.data.read().unwrap().canonical_username.clone()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             content_type: None, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             payload: vec![ pkt.write_to_bytes().unwrap() ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).await().unwrap(); 
			 |