Backport #28037 by @yp05327 Doer: asdasasdasasdasasdasasdasasdasasdasasdas (private user) Followed: TestUser (public user) Before: (From doer's view) ![image](https://github.com/go-gitea/gitea/assets/18380374/9ba16b3b-068c-43c5-a3dd-e3343b5b32f2) (From followed user's view, can see doer) ![image](https://github.com/go-gitea/gitea/assets/18380374/dfd1b564-d689-4393-b3d3-1e6bf52c94ba) After: (From doer's view) ![image](https://github.com/go-gitea/gitea/assets/18380374/1c85c1d1-c9f7-40c8-948c-145f7cae9a04) Co-authored-by: yp05327 <576951401@qq.com>tags/v1.21.4
@@ -1205,6 +1205,8 @@ func isUserVisibleToViewerCond(viewer *User) builder.Cond { | |||
return builder.Neq{ | |||
"`user`.visibility": structs.VisibleTypePrivate, | |||
}.Or( | |||
// viewer self | |||
builder.Eq{"`user`.id": viewer.ID}, | |||
// viewer's following | |||
builder.In("`user`.id", | |||
builder. |