diff --git a/backend/open_webui/routers/notes.py b/backend/open_webui/routers/notes.py index 98138a7535..f3f8b8cff8 100644 --- a/backend/open_webui/routers/notes.py +++ b/backend/open_webui/routers/notes.py @@ -70,19 +70,20 @@ async def get_notes( limit = 60 skip = (page - 1) * limit - notes = [ - NoteUserResponse( - **{ - **note.model_dump(), - "user": UserResponse( - **Users.get_user_by_id(note.user_id, db=db).model_dump() - ), - } - ) - for note in Notes.get_notes_by_user_id( - user.id, "read", skip=skip, limit=limit, db=db - ) - ] + notes = [] + for note in Notes.get_notes_by_user_id( + user.id, "read", skip=skip, limit=limit, db=db + ): + note_user = Users.get_user_by_id(note.user_id, db=db) + if note_user: + notes.append( + NoteUserResponse( + **{ + **note.model_dump(), + "user": UserResponse(**note_user.model_dump()), + } + ) + ) return notes diff --git a/backend/open_webui/routers/users.py b/backend/open_webui/routers/users.py index a9686f1d15..4257995f62 100644 --- a/backend/open_webui/routers/users.py +++ b/backend/open_webui/routers/users.py @@ -292,9 +292,11 @@ async def update_user_settings_by_session_user( db: Session = Depends(get_session), ): updated_user_settings = form_data.model_dump() + ui_settings = updated_user_settings.get("ui") if ( user.role != "admin" - and "toolServers" in updated_user_settings.get("ui").keys() + and ui_settings is not None + and "toolServers" in ui_settings.keys() and not has_permission( user.id, "features.direct_tool_servers",