fix: Auto-add all users to website room

Keep website room open for all - currently only used for discussions
This commit is contained in:
Gavin D'souza 2022-11-17 16:37:28 +05:30
parent dbed3e4788
commit 40df601a73
4 changed files with 13 additions and 10 deletions

View file

@ -157,3 +157,7 @@ def get_site_room():
def get_task_progress_room(task_id):
return f"{frappe.local.site}:task_progress:{task_id}"
def get_website_room():
return f"{frappe.local.site}:website"

View file

@ -70,7 +70,6 @@ const show_new_topic_modal = (e) => {
const setup_socket_io = () => {
frappe.socketio.init(window.socketio_port || "9000");
frappe.socketio.socket.emit("website");
frappe.socketio.socket.on("publish_message", (data) => {
publish_message(data);
});

View file

@ -3,13 +3,14 @@
import frappe
from frappe.model.document import Document
from frappe.realtime import get_website_room
class DiscussionReply(Document):
def on_update(self):
frappe.publish_realtime(
event="update_message",
room="website",
room=get_website_room(),
message={"reply": frappe.utils.md_to_html(self.reply), "reply_name": self.name},
after_commit=True,
)
@ -42,7 +43,7 @@ class DiscussionReply(Document):
frappe.publish_realtime(
event="publish_message",
room="website",
room=get_website_room(),
message={
"template": template,
"topic_info": topic_info[0],
@ -55,7 +56,10 @@ class DiscussionReply(Document):
def after_delete(self):
frappe.publish_realtime(
event="delete_message", room="website", message={"reply_name": self.name}, after_commit=True
event="delete_message",
room=get_website_room(),
message={"reply_name": self.name},
after_commit=True,
)

View file

@ -51,17 +51,13 @@ io.use((socket, next) => {
// on socket connection
io.on("connection", function (socket) {
const room = get_user_room(socket, socket.user);
socket.join(room);
socket.join(get_user_room(socket, socket.user));
socket.join(get_website_room(socket));
if (socket.user_type == "System User") {
socket.join(get_site_room(socket));
}
socket.on("website", () => {
socket.join(get_website_room(socket));
});
socket.on("list_update", function (doctype) {
can_subscribe_list({
socket,