UPdate live type.
This commit is contained in:
parent
e76bf15135
commit
481d7e3ab6
@ -25,7 +25,6 @@ class ChatInputComponent extends NjetComponent {
|
|||||||
textarea = null;
|
textarea = null;
|
||||||
_value = "";
|
_value = "";
|
||||||
lastUpdateEvent = null;
|
lastUpdateEvent = null;
|
||||||
expiryTimer = null;
|
|
||||||
queuedMessage = null;
|
queuedMessage = null;
|
||||||
lastMessagePromise = null;
|
lastMessagePromise = null;
|
||||||
_leetSpeak = false;
|
_leetSpeak = false;
|
||||||
@ -248,7 +247,7 @@ textToLeetAdvanced(text) {
|
|||||||
this.user = user;
|
this.user = user;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.liveType = this.getAttribute("live-type") !== "true";
|
this.liveType = this.getAttribute("live-type") == "true";
|
||||||
this.liveTypeInterval = parseInt(this.getAttribute("live-type-interval")) || 6;
|
this.liveTypeInterval = parseInt(this.getAttribute("live-type-interval")) || 6;
|
||||||
this.channelUid = this.getAttribute("channel");
|
this.channelUid = this.getAttribute("channel");
|
||||||
|
|
||||||
@ -388,7 +387,7 @@ textToLeetAdvanced(text) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async finalizeMessage(messageUid) {
|
finalizeMessage(messageUid) {
|
||||||
let value = this.value;
|
let value = this.value;
|
||||||
value = this.replaceMentionsWithAuthors(value)
|
value = this.replaceMentionsWithAuthors(value)
|
||||||
if(this._leetSpeak){
|
if(this._leetSpeak){
|
||||||
@ -396,18 +395,16 @@ textToLeetAdvanced(text) {
|
|||||||
}else if(this._leetSpeakAdvanced){
|
}else if(this._leetSpeakAdvanced){
|
||||||
value = this.textToLeetAdvanced(value);
|
value = this.textToLeetAdvanced(value);
|
||||||
}
|
}
|
||||||
await app.rpc.sendMessage(this.channelUid, value , true);
|
app.rpc.sendMessage(this.channelUid, value , true);
|
||||||
this.value = "";
|
this.value = "";
|
||||||
this.messageUid = null;
|
this.messageUid = null;
|
||||||
this.queuedMessage = null;
|
this.queuedMessage = null;
|
||||||
this.lastMessagePromise = null;
|
this.lastMessagePromise = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
updateFromInput(value) {
|
updateFromInput(value) {
|
||||||
if (this.expiryTimer) {
|
|
||||||
clearTimeout(this.expiryTimer);
|
|
||||||
this.expiryTimer = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.value = value;
|
this.value = value;
|
||||||
|
|
||||||
@ -421,9 +418,6 @@ textToLeetAdvanced(text) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async sendMessage(channelUid, value, is_final) {
|
async sendMessage(channelUid, value, is_final) {
|
||||||
if (!value.trim()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return await app.rpc.sendMessage(channelUid, value, is_final);
|
return await app.rpc.sendMessage(channelUid, value, is_final);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -267,17 +267,43 @@ class RPCView(BaseView):
|
|||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
async def _finalize_message_task(self, message_uid):
|
||||||
|
await asyncio.sleep(7)
|
||||||
|
self._finalize_task = None
|
||||||
|
self._require_login()
|
||||||
|
message = await self.services.channel_message.get(message_uid)
|
||||||
|
if not message:
|
||||||
|
return False
|
||||||
|
|
||||||
|
if message["user_uid"] != self.user_uid:
|
||||||
|
raise Exception("Not allowed")
|
||||||
|
|
||||||
|
if not message["is_final"]:
|
||||||
|
await self.services.chat.finalize(message["uid"])
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
async def _queue_finalize_message(self, message_uid):
|
||||||
|
if self._finalize_task:
|
||||||
|
self._finalize_task.cancel()
|
||||||
|
self._finalize_task = asyncio.create_task(
|
||||||
|
self._finalize_message_task(message_uid)
|
||||||
|
)
|
||||||
|
|
||||||
async def send_message(self, channel_uid, message, is_final=True):
|
async def send_message(self, channel_uid, message, is_final=True):
|
||||||
self._require_login()
|
self._require_login()
|
||||||
|
|
||||||
#if not is_final:
|
if not is_final:
|
||||||
# check_message = await self.services.channel_message.get(channel_uid=channel_uid, user_uid=self.user_uid,is_final=False)
|
check_message = await self.services.channel_message.get(channel_uid=channel_uid, user_uid=self.user_uid,is_final=False)
|
||||||
# if check_message:
|
if check_message:
|
||||||
# return await self.update_message_text(check_message["uid"], message)
|
await self._queue_finalize_message(check_message["uid"])
|
||||||
is_final = True
|
return await self.update_message_text(check_message["uid"], message)
|
||||||
|
|
||||||
message = await self.services.chat.send(
|
message = await self.services.chat.send(
|
||||||
self.user_uid, channel_uid, message, is_final
|
self.user_uid, channel_uid, message, is_final
|
||||||
)
|
)
|
||||||
|
await self._queue_finalize_message(message["uid"])
|
||||||
|
|
||||||
return message["uid"]
|
return message["uid"]
|
||||||
|
|
||||||
@ -326,8 +352,10 @@ class RPCView(BaseView):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
async def update_message_text(self, message_uid, text):
|
async def update_message_text(self, message_uid, text):
|
||||||
|
|
||||||
async with self.app.no_save():
|
async with self.app.no_save():
|
||||||
self._require_login()
|
self._require_login()
|
||||||
|
|
||||||
message = await self.services.channel_message.get(message_uid)
|
message = await self.services.channel_message.get(message_uid)
|
||||||
if message["user_uid"] != self.user_uid:
|
if message["user_uid"] != self.user_uid:
|
||||||
raise Exception("Not allowed")
|
raise Exception("Not allowed")
|
||||||
|
Loading…
Reference in New Issue
Block a user