diff --git a/api/controllers/console/app/workflow.py b/api/controllers/console/app/workflow.py index 88dcc8bb83..47359f902e 100644 --- a/api/controllers/console/app/workflow.py +++ b/api/controllers/console/app/workflow.py @@ -1425,9 +1425,14 @@ class WorkflowOnlineUsersApi(Resource): if isinstance(avatar, str) and avatar and not avatar.startswith(("http://", "https://")): try: user_info["avatar"] = file_helpers.get_signed_file_url(avatar) - except Exception: - # keep original avatar value when signing fails - pass + except Exception as exc: + logger.warning( + "Failed to sign workflow online user avatar; using original value. " + "app_id=%s avatar=%s error=%s", + app_id, + avatar, + exc, + ) users.append(user_info) results.append({"app_id": app_id, "users": users}) diff --git a/api/controllers/console/app/workflow_comment.py b/api/controllers/console/app/workflow_comment.py index c10b697d90..e7c3e982a6 100644 --- a/api/controllers/console/app/workflow_comment.py +++ b/api/controllers/console/app/workflow_comment.py @@ -26,17 +26,15 @@ logger = logging.getLogger(__name__) DEFAULT_REF_TEMPLATE_SWAGGER_2_0 = "#/definitions/{model}" -class WorkflowCommentContentPayload(BaseModel): +class WorkflowCommentCreatePayload(BaseModel): content: str = Field(..., description="Comment content") + position_x: float = Field(..., description="Comment X position") + position_y: float = Field(..., description="Comment Y position") mentioned_user_ids: list[str] = Field(default_factory=list, description="Mentioned user IDs") -class WorkflowCommentCreatePayload(WorkflowCommentContentPayload): - position_x: float = Field(..., description="Comment X position") - position_y: float = Field(..., description="Comment Y position") - - -class WorkflowCommentUpdatePayload(WorkflowCommentContentPayload): +class WorkflowCommentUpdatePayload(BaseModel): + content: str = Field(..., description="Comment content") position_x: float | None = Field(default=None, description="Comment X position") position_y: float | None = Field(default=None, description="Comment Y position") mentioned_user_ids: list[str] | None = Field( @@ -45,8 +43,9 @@ class WorkflowCommentUpdatePayload(WorkflowCommentContentPayload): ) -class WorkflowCommentReplyPayload(WorkflowCommentContentPayload): +class WorkflowCommentReplyPayload(BaseModel): content: str = Field(..., description="Reply content") + mentioned_user_ids: list[str] = Field(default_factory=list, description="Mentioned user IDs") class WorkflowCommentMentionUsersPayload(BaseModel):