mirror of
https://github.com/onionshare/onionshare.git
synced 2024-10-01 01:35:40 -04:00
Improves the logic of updating both flask session and socket session with new nickname
This commit is contained in:
parent
7ab10a0a57
commit
d1cada0f7e
@ -88,7 +88,6 @@ var emitMessage = function (socket) {
|
|||||||
var updateUsername = function (socket) {
|
var updateUsername = function (socket) {
|
||||||
var username = $('#username').val();
|
var username = $('#username').val();
|
||||||
if (!checkUsernameExists(username)) {
|
if (!checkUsernameExists(username)) {
|
||||||
socket.emit('update_username', { username: username });
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: `http://${document.domain}:${location.port}/update-session-username`,
|
url: `http://${document.domain}:${location.port}/update-session-username`,
|
||||||
@ -97,6 +96,9 @@ var updateUsername = function (socket) {
|
|||||||
data: JSON.stringify({ 'username': username })
|
data: JSON.stringify({ 'username': username })
|
||||||
}).done(function (response) {
|
}).done(function (response) {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
|
if (response.success && response.username == username) {
|
||||||
|
socket.emit('update_username', { username: username });
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return username;
|
return username;
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,8 @@ class ChatModeWeb:
|
|||||||
)
|
)
|
||||||
session["room"] = self.web.settings.default_settings["chat"]["room"]
|
session["room"] = self.web.settings.default_settings["chat"]["room"]
|
||||||
self.web.add_request(
|
self.web.add_request(
|
||||||
request.path, {"id": history_id, "status_code": 200},
|
request.path,
|
||||||
|
{"id": history_id, "status_code": 200},
|
||||||
)
|
)
|
||||||
|
|
||||||
self.web.add_request(self.web.REQUEST_LOAD, request.path)
|
self.web.add_request(self.web.REQUEST_LOAD, request.path)
|
||||||
@ -83,14 +84,23 @@ class ChatModeWeb:
|
|||||||
def update_session_username():
|
def update_session_username():
|
||||||
history_id = self.cur_history_id
|
history_id = self.cur_history_id
|
||||||
data = request.get_json()
|
data = request.get_json()
|
||||||
if data.get("username", "") not in self.connected_users:
|
if (
|
||||||
|
data.get("username", "")
|
||||||
|
and data.get("username", "") not in self.connected_users
|
||||||
|
):
|
||||||
session["name"] = data.get("username", session.get("name"))
|
session["name"] = data.get("username", session.get("name"))
|
||||||
self.web.add_request(
|
self.web.add_request(
|
||||||
request.path, {"id": history_id, "status_code": 200},
|
request.path,
|
||||||
|
{"id": history_id, "status_code": 200},
|
||||||
)
|
)
|
||||||
|
|
||||||
self.web.add_request(self.web.REQUEST_LOAD, request.path)
|
self.web.add_request(self.web.REQUEST_LOAD, request.path)
|
||||||
r = make_response(jsonify(username=session.get("name"), success=True,))
|
r = make_response(
|
||||||
|
jsonify(
|
||||||
|
username=session.get("name"),
|
||||||
|
success=True,
|
||||||
|
)
|
||||||
|
)
|
||||||
return self.web.add_security_headers(r)
|
return self.web.add_security_headers(r)
|
||||||
|
|
||||||
@self.web.socketio.on("joined", namespace="/chat")
|
@self.web.socketio.on("joined", namespace="/chat")
|
||||||
@ -125,7 +135,7 @@ class ChatModeWeb:
|
|||||||
"""Sent by a client when the user updates their username.
|
"""Sent by a client when the user updates their username.
|
||||||
The message is sent to all people in the room."""
|
The message is sent to all people in the room."""
|
||||||
current_name = session.get("name")
|
current_name = session.get("name")
|
||||||
if message["username"] not in self.connected_users:
|
if message.get("username", ""):
|
||||||
session["name"] = message["username"]
|
session["name"] = message["username"]
|
||||||
self.connected_users[
|
self.connected_users[
|
||||||
self.connected_users.index(current_name)
|
self.connected_users.index(current_name)
|
||||||
|
Loading…
Reference in New Issue
Block a user