| 
						
						
							
								
							
						
						
					 | 
					@ -60,20 +60,20 @@ fn serialize(val: Value) -> Vec<u8> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    // Add size bytes at the start
 | 
					 | 
					 | 
					    // Add size bytes at the start
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    // Extracted from BinaryMessageFormat.js
 | 
					 | 
					 | 
					    // Extracted from BinaryMessageFormat.js
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    let mut size = buf.len(); | 
					 | 
					 | 
					    let mut size: usize = buf.len(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    let mut len_buf: Vec<u8> = Vec::new(); | 
					 | 
					 | 
					    let mut len_buf: Vec<u8> = Vec::new(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    loop { | 
					 | 
					 | 
					    loop { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        let mut size_part = size & 0x7f; | 
					 | 
					 | 
					        let mut size_part = size & 0x7f; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        size = size >> 7; | 
					 | 
					 | 
					        size >>= 7; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if size > 0 { | 
					 | 
					 | 
					        if size > 0 { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            size_part = size_part | 0x80; | 
					 | 
					 | 
					            size_part |= 0x80; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        len_buf.push(size_part as u8); | 
					 | 
					 | 
					        len_buf.push(size_part as u8); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        if size <= 0 { | 
					 | 
					 | 
					        if size == 0 { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            break; | 
					 | 
					 | 
					            break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -129,7 +129,7 @@ impl Handler for WSHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    fn on_open(&mut self, hs: Handshake) -> ws::Result<()> { | 
					 | 
					 | 
					    fn on_open(&mut self, hs: Handshake) -> ws::Result<()> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // TODO: Improve this split
 | 
					 | 
					 | 
					        // TODO: Improve this split
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        let path = hs.request.resource(); | 
					 | 
					 | 
					        let path = hs.request.resource(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        let mut query_split: Vec<_> = path.split("?").nth(1).unwrap().split("&").collect(); | 
					 | 
					 | 
					        let mut query_split: Vec<_> = path.split('?').nth(1).unwrap().split('&').collect(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        query_split.sort(); | 
					 | 
					 | 
					        query_split.sort(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        let access_token = &query_split[0][13..]; | 
					 | 
					 | 
					        let access_token = &query_split[0][13..]; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        let _id = &query_split[1][3..]; | 
					 | 
					 | 
					        let _id = &query_split[1][3..]; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -255,7 +255,7 @@ impl WebSocketUsers { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            vec![ | 
					 | 
					 | 
					            vec![ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("UserId".into(), user.uuid.clone().into()), | 
					 | 
					 | 
					                ("UserId".into(), user.uuid.clone().into()), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("Date".into(), serialize_date(user.updated_at)), | 
					 | 
					 | 
					                ("Date".into(), serialize_date(user.updated_at)), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            ].into(), | 
					 | 
					 | 
					            ], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            ut, | 
					 | 
					 | 
					            ut, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ); | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -268,7 +268,7 @@ impl WebSocketUsers { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("Id".into(), folder.uuid.clone().into()), | 
					 | 
					 | 
					                ("Id".into(), folder.uuid.clone().into()), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("UserId".into(), folder.user_uuid.clone().into()), | 
					 | 
					 | 
					                ("UserId".into(), folder.user_uuid.clone().into()), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("RevisionDate".into(), serialize_date(folder.updated_at)), | 
					 | 
					 | 
					                ("RevisionDate".into(), serialize_date(folder.updated_at)), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            ].into(), | 
					 | 
					 | 
					            ], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            ut, | 
					 | 
					 | 
					            ut, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ); | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -286,7 +286,7 @@ impl WebSocketUsers { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("OrganizationId".into(), org_uuid), | 
					 | 
					 | 
					                ("OrganizationId".into(), org_uuid), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("CollectionIds".into(), Value::Nil), | 
					 | 
					 | 
					                ("CollectionIds".into(), Value::Nil), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                ("RevisionDate".into(), serialize_date(cipher.updated_at)), | 
					 | 
					 | 
					                ("RevisionDate".into(), serialize_date(cipher.updated_at)), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            ].into(), | 
					 | 
					 | 
					            ], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            ut, | 
					 | 
					 | 
					            ut, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ); | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |