Most recent users.
This commit is contained in:
		
							parent
							
								
									973afa0cc2
								
							
						
					
					
						commit
						96629113f1
					
				| @ -67,6 +67,10 @@ class ChannelService(BaseService): | ||||
|         await self.services.channel_member.create_dm(channel["uid"], user1, user2) | ||||
|         return channel | ||||
| 
 | ||||
|     async def get_recent_users(self, channel_uid): | ||||
|         async for user in self.query("SELECT user.uid, user.username,user.color,user.last_ping,user.nick FROM channel_member INNER JOIN user ON user.uid = channel_member.user_uid WHERE channel_uid=:channel_uid ORDER BY last_ping DESC LIMIT 30", {"channel_uid": channel_uid}): | ||||
|             yield user | ||||
| 
 | ||||
|     async def get_users(self, channel_uid): | ||||
|         async for channel_member in self.services.channel_member.find( | ||||
|             channel_uid=channel_uid, | ||||
|  | ||||
| @ -56,7 +56,7 @@ class ChatInputComponent extends HTMLElement { | ||||
|          | ||||
|     } | ||||
|  extractMentions(text) { | ||||
|   const regex = /@([a-zA-Z0-9_]+)/g; | ||||
|   const regex = /@([a-zA-Z0-9_-]+)/g; | ||||
|   const mentions = []; | ||||
|   let match; | ||||
| 
 | ||||
| @ -81,7 +81,6 @@ class ChatInputComponent extends HTMLElement { | ||||
|             distance += 10         | ||||
|         } | ||||
| 
 | ||||
|       console.warn([ mention, author, distance ]); | ||||
|       if (distance < minDistance) { | ||||
|         minDistance = distance; | ||||
|         closestAuthor = author; | ||||
| @ -153,7 +152,7 @@ levenshteinDistance(a, b) { | ||||
|       parseInt(this.getAttribute("live-type-interval")) || 3; | ||||
|     this.channelUid = this.getAttribute("channel"); | ||||
|      | ||||
|     app.rpc.getUsers(this.channelUid).then(users=>{ | ||||
|     app.rpc.getRecentUsers(this.channelUid).then(users=>{ | ||||
|         this.users = users     | ||||
|     }) | ||||
|       this.messageUid = null; | ||||
|  | ||||
| @ -327,6 +327,19 @@ class RPCView(BaseView): | ||||
|             await self.ws.send_json(obj) | ||||
|             return "noresponse" | ||||
| 
 | ||||
|         async def get_recent_users(self, channel_uid): | ||||
|             self._require_login() | ||||
| 
 | ||||
|             return [ | ||||
|                 { | ||||
|                     "uid": record["uid"], | ||||
|                     "username": record["username"], | ||||
|                     "nick": record["nick"], | ||||
|                     "last_ping": record["last_ping"], | ||||
|                 } | ||||
|                 async for record in self.services.channel.get_recent_users(channel_uid) | ||||
|             ] | ||||
| 
 | ||||
|         async def get_users(self, channel_uid): | ||||
|             self._require_login() | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user