]> source.dussan.org Git - gitea.git/commitdiff
Fix when private user following user, private user will not be counted in his own...
authorGiteabot <teabot@gitea.io>
Mon, 15 Jan 2024 07:07:10 +0000 (15:07 +0800)
committerGitHub <noreply@github.com>
Mon, 15 Jan 2024 07:07:10 +0000 (15:07 +0800)
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>
models/user/user.go

index 63b95816cefce8697dd8798b64bd2706de19c93e..2c4e94953b9ebc6da5579b1f65aba869f13ea258 100644 (file)
@@ -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.