Timothy Jaeryang Baek 3 months ago
parent
commit
d509ca1133
1 changed files with 12 additions and 4 deletions
  1. 12 4
      backend/open_webui/socket/main.py

+ 12 - 4
backend/open_webui/socket/main.py

@@ -353,8 +353,12 @@ async def yjs_document_join(sid, data):
                 log.error(f"Note {note_id} not found")
                 return
 
-            if user.get("role") != "admin" and has_access(
-                user.get("id"), type="read", access_control=note.access_control
+            if (
+                user.get("role") != "admin"
+                and user.get("id") != note.user_id
+                and not has_access(
+                    user.get("id"), type="read", access_control=note.access_control
+                )
             ):
                 log.error(
                     f"User {user.get('id')} does not have access to note {note_id}"
@@ -424,8 +428,12 @@ async def document_save_handler(document_id, data, user):
             log.error(f"Note {note_id} not found")
             return
 
-        if user.get("role") != "admin" and has_access(
-            user.get("id"), type="read", access_control=note.access_control
+        if (
+            user.get("role") != "admin"
+            and user.get("id") != note.user_id
+            and not has_access(
+                user.get("id"), type="read", access_control=note.access_control
+            )
         ):
             log.error(f"User {user.get('id')} does not have access to note {note_id}")
             return