-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add anonymous access support for private repositories (backend) #33257
Add anonymous access support for private repositories (backend) #33257
Conversation
It seems there is no interest or strong requirement for this feature. Close, until there are enough interests and requirements. |
@wxiaoguang I have interest in this feature. I understood #639 with over 100 upvotes is exactly about this, so I think there is overall strong interest in this. #33127 is only half of what #639 was about. |
Then let's try to bring it into Gitea 1.24 |
2054b7f
to
de06c3c
Compare
de06c3c
to
095b61e
Compare
095b61e
to
4ed6984
Compare
4ed6984
to
ce57b0f
Compare
ctx.HTML(http.StatusOK, tplSettingsOptions) | ||
return | ||
} | ||
handleSettingsPostUpdate(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it's better to move these changes to another PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But I have done it together, just don't want to waste time on another PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ps: this refactoring is related, to make it easier to make related frontend changes.
If we do not put it here, it will also be in "next PR", otherwise there will be one more PR, too many PRs.
@@ -171,27 +179,38 @@ func (p *Permission) LogString() string { | |||
format += "\n\tunitsMode[%-v]: %-v" | |||
args = append(args, key.LogString(), value.LogString()) | |||
} | |||
format += "\n\tanonymousAccessMode: %-v" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we can use the string builder for better performance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function won't be called in production. So it doesn't affect performance.
@@ -209,6 +228,11 @@ func finalProcessRepoUnitPermission(user *user_model.User, perm *Permission) { | |||
break | |||
} | |||
} | |||
for t := range perm.anonymousAccessMode { | |||
if shouldKeep = shouldKeep || u.Type == t; shouldKeep { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's what I prefer to write: shouldKeep |= u.Type == t, But that's just my personal opinion, and there's nothing wrong with writing it that way
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then it needs 2 lines. Current code only uses one line .......
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right.
Next: Add anonymous access support for private repositories #34051 |
* giteaofficial/main: [skip ci] Updated translations via Crowdin Add toggleClass function in dom.ts (go-gitea#34063) Add a config option to block "expensive" pages for anonymous users (go-gitea#34024) add additional ReplaceAll in pathsep to cater for different pathsep (go-gitea#34061) [skip ci] Updated translations via Crowdin enable staticcheck QFxxxx rules (go-gitea#34064) update to golangci-lint v2 (go-gitea#34054) Add descriptions for private repo public access settings and improve the UI (go-gitea#34057) Add anonymous access support for private/unlisted repositories (go-gitea#34051) Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission (go-gitea#34053) Update action status badge layout (go-gitea#34018) Add anonymous access support for private repositories (backend) (go-gitea#33257) Simplify emoji rendering (go-gitea#34048) Adjust the layout of the toolbar on the Issues/Projects page (go-gitea#33667) Fix bug on downloading job logs (go-gitea#34041) Fix git client accessing renamed repo (go-gitea#34034) Decouple Batch from git.Repository to simplify usage without requiring the creation of a Repository struct. (go-gitea#34001) fix org repo creation being limited by user limits (go-gitea#34030) Fix the issue with error message logging for the `check-attr` command on Windows OS. (go-gitea#34035) Try to fix check-attr bug (go-gitea#34029)
Follow #33127
For #8649 and #639
This PR add backend logic and test for "anonymous access", it shares the same logic as "everyone access", so not too much change.
By the way, split
SettingsPost
into small functions to make it easier to make frontend-related changes in the future.Next PR will add frontend support for "anonymous access"
https://github.com/go-gitea/gitea/pull/33257/files?diff=unified&w=1