Commit graph

4984 commits

Author SHA1 Message Date
Earl Warren
51620ab0f3 Merge pull request 'Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v1.60.1 (forgejo)' (#4953) from renovate/forgejo-github.com-golangci-golangci-lint-cmd-golangci-lint-1.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4953
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-08-19 07:38:14 +00:00
yp05327
a8e25e907c
Add missing repository type filter parameters to pager (#31832)
Fix #31807

ps: the newly added params's value will be changed.
When the first time you selected the filter, the values of params will
be `0` or `1`
But in pager it will be `true` or `false`.
So do we have `boolToInt` function?

(cherry picked from commit 7092402a2db255ecde2c20574b973fb632c16d2e)

Conflicts:
	routers/web/org/home.go
  trivial conflict s/pager.AddParam/pager.AddParamString/
2024-08-19 09:26:34 +02:00
Gusted
fe18428806
Fix linting issues 2024-08-18 16:25:13 +02:00
TheFox0x7
529bbbde4d
style: change one argument switch to if 2024-08-18 16:20:26 +02:00
Jason Song
385718dd78
Avoid returning without written ctx when posting PR (#31843)
Fix #31625.

If `pull_service.NewPullRequest` return an error which misses each `if`
check, `CompareAndPullRequestPost` will return immediately, since it
doesn't write the HTTP response, a 200 response with empty body will be
sent to clients.

```go
	if err := pull_service.NewPullRequest(ctx, repo, pullIssue, labelIDs, attachments, pullRequest, assigneeIDs); err != nil {
		if repo_model.IsErrUserDoesNotHaveAccessToRepo(err) {
			ctx.Error(http.StatusBadRequest, "UserDoesNotHaveAccessToRepo", err.Error())
		} else if git.IsErrPushRejected(err) {
			// ...
			ctx.JSONError(flashError)
		} else if errors.Is(err, user_model.ErrBlockedUser) {
			// ...
			ctx.JSONError(flashError)
		} else if errors.Is(err, issues_model.ErrMustCollaborator) {
			// ...
			ctx.JSONError(flashError)
		}
		return
	}
```

Not sure what kind of error can cause it to happen, so this PR just
expose it. And we can fix it when users report that creating PRs failed
with error responses.

It's all my guess since I cannot reproduce the problem, but even if it's
not related, the code here needs to be improved.

(cherry picked from commit acd7053e9d4968e8b9812ab379be9027ac8e7771)

Conflicts:
	routers/web/repo/pull.go
  trivial context conflict
2024-08-18 06:28:26 +02:00
Rowan Bohde
ebfdc659d8
render plain text file if the LFS object doesn't exist (#31812)
We had an issue where a repo was using LFS to store a file, but the user
did not push the file. When trying to view the file, Gitea returned a
500 HTTP status code referencing `ErrLFSObjectNotExist`. It appears the
intent was the render this file as plain text, but the conditional was
flipped. I've also added a test to verify that the file is rendered as
plain text.

(cherry picked from commit 1310649331648d747c57a52ea3bc92da85e7d4d1)

Conflicts:
	tests/integration/lfs_view_test.go
  trivial context conflict
2024-08-18 05:58:33 +02:00
Jason Song
7f1db1df3e
Show lock owner instead of repo owner on LFS setting page (#31788)
Fix #31784.

Before:

<img width="1648" alt="image"
src="https://github.com/user-attachments/assets/03f32545-4a85-42ed-bafc-2b193a5d8023">

After:

<img width="1653" alt="image"
src="https://github.com/user-attachments/assets/e5bcaf93-49cb-421f-aac1-5122bc488b02">

(cherry picked from commit 0470646d46f90c20f40fde718be6ef8d8c84ee2c)
2024-08-18 05:47:06 +02:00
Otto
da7f3ac6f5 Merge pull request '[BUG] Make logout event non-blocking' (#4938) from gusted/forgejo-non-blocking-logout into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4938
Reviewed-by: Otto <otto@codeberg.org>
2024-08-16 14:17:15 +00:00
Earl Warren
24eb401a0a Merge pull request 'Enhancing Gitea OAuth2 Provider with Granular Scopes for Resource Access' (#4449) from marcellmars/forgejo:forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4449
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-08-16 12:38:15 +00:00
Otto
b77f45f46b Merge pull request 'Revert "Prevent allow/reject reviews on merged/closed PRs"' (#4907) from caesar/forgejo:revert-no-closed-pr-review into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4907
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2024-08-13 23:25:54 +00:00
Otto Richter
e330c88411 fix(api): Correct descriptions for quota calls 2024-08-12 22:05:56 +02:00
Gusted
9c5c08859d
[BUG] Make logout event non-blocking
- When people click on the logout button, a event is sent to all
browser tabs (actually to a shared worker) to notify them of this
logout. This is done in a blocking fashion, to ensure every registered
channel (which realistically should be one for every user because of the
shared worker) for a user receives this message. While doing this, it
locks the mutex for the eventsource module.
- Codeberg is currently observing a deadlock that's caused by this
blocking behavior, a channel isn't receiving the logout event. We
currently don't have a good theory of why this is being caused. This in
turn is causing that the logout functionality is no longer working and
people no longer receive notifications, unless they refresh the page.
- This patchs makes this message non-blocking and thus making it
consistent with the other messages. We don't see a good reason why this
specific event needs to be blocking and the commit introducing it
doesn't offer a rationale either.
2024-08-12 19:13:23 +02:00
Caesar Schinas
65c2595f26
Revert "Prevent allow/reject reviews on merged/closed PRs"
This reverts commit 4ed372af13.
This change from Gitea was not considered by the Forgejo UI team and there is a consensus that it feels like a regression.

The test which was added in that commit is kept and modified to test that reviews can successfully be submitted on closed and merged PRs.

Closes forgejo/design#11
2024-08-12 12:24:52 +01:00
a1012112796
e5f8d144f2
[PORT] Add warning message in merge instructions when AutodetectManualMerge was not enabled (gitea#31805)
---

Conflict resolution: trivial
Things done differently: Improve localization message, use the paragraph
element instead of the div element, fix passing this variable to the
template and add a integration test

(cherry picked from commit 9633f336c87947dc7d2a5e76077a10699ba5e50d)
2024-08-11 19:15:37 +02:00
Earl Warren
44002a6399 Merge pull request 'chore(refactor): split repo_service.ForkRepository in two' (#4879) from earl-warren/forgejo:wip-fork-split into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4879
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-08-11 15:50:52 +00:00
Earl Warren
cfefe2b6c9
chore(refactor): split repo_service.ForkRepository in two
ForkRepository performs two different functions:

* The fork itself, if it does not already exist
* Updates and notifications after the fork is performed

The function is split to reflect that and otherwise unmodified.

The two function are given different names to:

* clarify which integration tests provides coverage
* distinguish it from the notification method by the same name
2024-08-11 12:40:34 +02:00
Exploding Dragon
87d50eca87 feat: support grouping by any path for arch package (#4903)
Previous arch package grouping was not well-suited for complex or multi-architecture environments. It now supports the following content:

- Support grouping by any path.
- New support for packages in `xz` format.
- Fix clean up rules

<!--start release-notes-assistant-->

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/4903): <!--number 4903 --><!--line 0 --><!--description c3VwcG9ydCBncm91cGluZyBieSBhbnkgcGF0aCBmb3IgYXJjaCBwYWNrYWdl-->support grouping by any path for arch package<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4903
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Exploding Dragon <explodingfkl@gmail.com>
Co-committed-by: Exploding Dragon <explodingfkl@gmail.com>
2024-08-11 10:35:11 +00:00
Earl Warren
f8728ad881 Merge pull request '[BUG] Return blocking errors as JSON errors' (#4914) from gusted/forgejo-block-json into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4914
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-08-10 05:52:27 +00:00
Earl Warren
40e51e4ca7 Merge pull request 'fix(ui): allow unreacting from comment popover' (#4798) from solomonv/forgejo:issue-reaction-fixes into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4798
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-08-10 05:45:55 +00:00
Gusted
d97cf0e854
[BUG] Return blocking errors as JSON errors
- These endspoints are since b71cb7acdc
JSON-based and should therefore return JSON errors.
- Integration tests adjusted.
2024-08-09 20:34:38 +02:00
Solomon Victorino
b8a5ca2c40 fix(ui): allow unreacting from comment popover
- fix selectors for hasReacted
- don't send empty HTML on reaction errors
- add E2E test
2024-08-09 10:17:04 -06:00
Marcell Mars
7dbad27156 id_token & userinfo endpoint's public groups check
- if `groups` scope provided it checks if all, r:org or r:admin are
provided to pass all the groups. otherwise only public memberships
- in InfoOAuth it captures scopes from the token if provided in the
header. the extraction from the header is maybe a candidate for the
separate function so no duplicated code
2024-08-09 14:58:15 +02:00
Marcell Mars
4eb8d8c496 OAuth2 provider: support for granular scopes
- `CheckOAuthAccessToken` returns both user ID and additional scopes
- `grantAdditionalScopes` returns AccessTokenScope ready string (grantScopes)
   compiled from requested additional scopes by the client
- `userIDFromToken` sets returned grantScopes (if any) instead of default `all`
2024-08-09 14:58:15 +02:00
emilylange
c1f85ce27b
feat(performance): remove BranchName in /:owner/:repo/commit/:commit
`BranchName` provides the nearest branch of the requested `:commit`.

It's plenty fast on smaller repositories.
On larger repositories like nixpkgs, however, this can easily take 2-3
seconds on a modern machine on a NVMe.

For context, at the time of writing, nixpkgs has over 650k commits and
roughly 250 branches.

`BranchName` is used once in the whole view:
The cherry-pick target branch default selection.

And I believe that's a logic error, which is why this patch is so small.

The nearest branch of a given commit will always be a branch the commit
is already part of. The branch you most likely *don't* want to
cherry-pick to.

Sure, one can technically cherry-pick a commit onto the same branch, but
that simply results in an empty commit.

I don't believe this is intended and even less so worth the compute.

Instead, the cherry-pick branch selection suggestion now always uses
the default branch, which used to be the fallback.

If a user wants to know which branches contain the given commit,
`load-branches-and-tags` exists and should be used instead.

Also, to add insult to injury, `BranchName` was calculated for both
logged-in and not logged-in users, despite its only consumer, the
cherry-pick operation, only being rendered when a given user has
write/commit permissions.

But this isn't particularly surprising, given this happens a lot in
Forgejo's codebase.
2024-08-08 22:29:42 +02:00
Yaroslav Halchenko
5ae2dbcb14 Adjust codespell config + make it fix few typos which sneaked in since addition of codespell support (#4857)
Now that my colleague just posted a wonderful blog post https://blog.datalad.org/posts/forgejo-runner-podman-deployment/ on forgejo runner, some time I will try to add that damn codespell action to work on CI here ;)  meanwhile some typos managed to sneak in and this PR should address them (one change might be functional in a test -- not sure if would cause a fail or not)

### Release notes

- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4857
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Yaroslav Halchenko <debian@onerussian.com>
Co-committed-by: Yaroslav Halchenko <debian@onerussian.com>
2024-08-08 16:07:35 +00:00
Exploding Dragon
1bc986423d fix: rpm sign resource leak (#4878)
Fixed the resource leak  in #4780.

Related:  [go-gitea/gitea#31794](https://github.com/go-gitea/gitea/pull/31794)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4878
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Exploding Dragon <explodingfkl@gmail.com>
Co-committed-by: Exploding Dragon <explodingfkl@gmail.com>
2024-08-08 07:28:09 +00:00
Shivaram Lingamneni
878c236f49 cherry-pick OIDC changes from gitea (#4724)
These are the three conflicted changes from #4716:

* https://github.com/go-gitea/gitea/pull/31632
* https://github.com/go-gitea/gitea/pull/31688
* https://github.com/go-gitea/gitea/pull/31706

cc @earl-warren; as per discussion on https://github.com/go-gitea/gitea/pull/31632 this involves a small compatibility break (OIDC introspection requests now require a valid client ID and secret, instead of a valid OIDC token)

## Checklist

The [developer guide](https://forgejo.org/docs/next/developer/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests

- I added test coverage for Go changes...
  - [ ] in their respective `*_test.go` for unit tests.
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [ ] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.

<!--start release-notes-assistant-->

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Breaking features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/4724): <!--number 4724 --><!--line 0 --><!--description T0lEQyBpbnRlZ3JhdGlvbnMgdGhhdCBQT1NUIHRvIGAvbG9naW4vb2F1dGgvaW50cm9zcGVjdGAgd2l0aG91dCBzZW5kaW5nIEhUVFAgYmFzaWMgYXV0aGVudGljYXRpb24gd2lsbCBub3cgZmFpbCB3aXRoIGEgNDAxIEhUVFAgVW5hdXRob3JpemVkIGVycm9yLiBUbyBmaXggdGhlIGVycm9yLCB0aGUgY2xpZW50IG11c3QgYmVnaW4gc2VuZGluZyBIVFRQIGJhc2ljIGF1dGhlbnRpY2F0aW9uIHdpdGggYSB2YWxpZCBjbGllbnQgSUQgYW5kIHNlY3JldC4gVGhpcyBlbmRwb2ludCB3YXMgcHJldmlvdXNseSBhdXRoZW50aWNhdGVkIHZpYSB0aGUgaW50cm9zcGVjdGlvbiB0b2tlbiBpdHNlbGYsIHdoaWNoIGlzIGxlc3Mgc2VjdXJlLg==-->OIDC integrations that POST to `/login/oauth/introspect` without sending HTTP basic authentication will now fail with a 401 HTTP Unauthorized error. To fix the error, the client must begin sending HTTP basic authentication with a valid client ID and secret. This endpoint was previously authenticated via the introspection token itself, which is less secure.<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4724
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Shivaram Lingamneni <slingamn@cs.stanford.edu>
Co-committed-by: Shivaram Lingamneni <slingamn@cs.stanford.edu>
2024-08-08 06:32:14 +00:00
Earl Warren
633406704c Merge pull request 'Revert telemetry integration' (#4866) from thefox/revert-otel into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4866
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-08-07 20:47:04 +00:00
0ko
bad3b32037 feat(i18n): allow different translations of creation links and titles (#4829)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4829
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-08-07 16:54:05 +00:00
TheFox0x7
2e2a044493
Revert "Open telemetry integration (#3972)"
This reverts commit c738542201.
2024-08-07 11:22:43 +02:00
Gusted
7faea490fc Merge pull request '[UI] Do not include trailing EOL character when counting lines' (#4835) from gusted/forgejo-num-lines into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4835
Reviewed-by: Caesar Schinas <caesar@caesarschinas.com>
Reviewed-by: Otto <otto@codeberg.org>
2024-08-06 12:23:24 +00:00
Shiny Nematoda
06d2e90fa4 feat: highlighted code search results (#4749)
closes #4534

<details>
<summary>Screenshots</summary>

![](https://codeberg.org/attachments/0ab8a7b0-6485-46dc-a730-c016abb1f287)
</details>

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4749
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
2024-08-06 05:57:25 +00:00
Earl Warren
517637137c Merge pull request '[gitea] week 2024-32 cherry pick (gitea/main -> forgejo)' (#4801) from earl-warren/wcp/2024-32 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4801
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-08-06 05:47:20 +00:00
Gusted
5cf976739c
[UI] Do not include trailing EOL character when counting lines
- Adjust the counting of the number of lines of a file to match the
amount of rendered lines. This simply means that a file with the content
of `a\n` will be shown as having `1 line` rather than `2 lines`. This
matches with the amount of lines that are being rendered (the last empty
line is never rendered) and matches more with the expecation of the
user (a trailing EOL is a technical detail).
- In the case there's no EOL, the reason why it was counting
'incorrectly' was to show if there was a trailing EOL or not, but now
text is shown to tell the user this.
- Integration test added.
- Resolves Codeberg/Community#1612
2024-08-06 04:36:57 +02:00
Earl Warren
6e98a57096 Merge pull request 'Implement an instance-wide activitypub actor' (#4811) from algernon/forgejo:to-be-or-not-to-be into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4811
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-08-05 14:23:02 +00:00
Gergely Nagy
f121e87aa6
activitypub: Implement an instance-wide actor
An instance-wide actor is required for outgoing signed requests that are
done on behalf of the instance, rather than on behalf of other actors.
Such things include updating profile information, or fetching public
keys.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-08-05 10:50:26 +02:00
TheFox0x7
c738542201 Open telemetry integration (#3972)
This PR adds opentelemetry and chi wrapper to have basic instrumentation

<!--start release-notes-assistant-->

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/3972): <!--number 3972 --><!--line 0 --><!--description YWRkIHN1cHBvcnQgZm9yIGJhc2ljIHJlcXVlc3QgdHJhY2luZyB3aXRoIG9wZW50ZWxlbWV0cnk=-->add support for basic request tracing with opentelemetry<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3972
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: TheFox0x7 <thefox0x7@gmail.com>
Co-committed-by: TheFox0x7 <thefox0x7@gmail.com>
2024-08-05 06:04:39 +00:00
Lunny Xiao
19fe44e4aa
Fix wiki revision pagination (#31760)
Fix #31755

(cherry picked from commit 976f78eb772801a978e2fe9ab35dfb769a8f852b)
2024-08-04 18:24:10 +02:00
Jason Song
0c40cff9a4
Clear up old Actions logs (#31735)
Part of #24256.

Clear up old action logs to free up storage space.

Users will see a message indicating that the log has been cleared if
they view old tasks.

<img width="1361" alt="image"
src="https://github.com/user-attachments/assets/9f0f3a3a-bc5a-402f-90ca-49282d196c22">

Docs: https://gitea.com/gitea/docs/pulls/40

---------

Co-authored-by: silverwind <me@silverwind.io>
(cherry picked from commit 687c1182482ad9443a5911c068b317a91c91d586)

Conflicts:
	custom/conf/app.example.ini
	routers/web/repo/actions/view.go
  trivial context conflict
2024-08-04 18:24:10 +02:00
yp05327
c784a58740
Fix the display of project type for deleted projects (#31732)
Fix: #31727
After:

![image](https://github.com/user-attachments/assets/1dfb4b31-3bd6-47f7-b126-650f33f453e2)

(cherry picked from commit 75d0b61546e00390afdd850149de525dd64336a5)

Conflicts:
	options/locale/locale_en-US.ini
  trivial conflict & fix excessive uppercase to unify with the other translations
2024-08-04 10:14:34 +02:00
Jason Song
92fbc8e216
Set owner id to zero when GetRegistrationToken for repo (#31725)
Fix #31707.

It's split from #31724.

Although #31724 could also fix #31707, it has change a lot so it's not a
good idea to backport it.

(cherry picked from commit 81fa471119a6733d257f63f8c2c1f4acc583d21b)
2024-08-04 10:14:34 +02:00
Bo-Yi Wu
6a4d1dfab8
fix(api): owner ID should be zero when created repo secret (#31715)
- Change condition to include `RepoID` equal to 0 for organization
secrets

---------

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit d39bce7f003cf2137a5a561ed488c7b638e52275)

Conflicts:
	routers/api/v1/repo/action.go
  trivial context conflict (PathParams vs Params)
2024-08-04 10:14:34 +02:00
Jason Song
6e63afe31f
Fix API endpoint for registration-token (#31722)
Partially fix #31707. Related to #30656

(cherry picked from commit bf5ae79c5163b8dd6a3185711ad11893b1270f62)
2024-08-04 10:14:34 +02:00
Earl Warren
170c1c5152
Hide the "Details" link of commit status when the user cannot access actions (followup)
commit.Status may be nil
2024-08-04 10:14:34 +02:00
Zettat123
0dbc623028
Hide the "Details" link of commit status when the user cannot access actions (#30156)
Fix #26685

If a commit status comes from Gitea Actions and the user cannot access
the repo's actions unit (the user does not have the permission or the
actions unit is disabled), a 404 page will occur after clicking the
"Details" link. We should hide the "Details" link in this case.

<img
src="https://github.com/go-gitea/gitea/assets/15528715/68361714-b784-4bb5-baab-efde4221f466"
width="400px" />

(cherry picked from commit 7dec8de9147b20c014d68bb1020afe28a263b95a)

Conflicts:
	routers/web/repo/commit.go
  trivial context commit
2024-08-04 08:47:07 +02:00
Exploding Dragon
f17194ca91 Arch packages implementation (#4785)
This PR is from https://github.com/go-gitea/gitea/pull/31037

This PR was originally created by @d1nch8g , and the original source code comes from https://ion.lc/core/gitea.

This PR adds a package registry for [Arch Linux](https://archlinux.org/) packages with support for package files, [signatures](https://wiki.archlinux.org/title/Pacman/Package_signing), and automatic [pacman-database](https://archlinux.org/pacman/repo-add.8.html) management.

Features:

1. Push any ` tar.zst ` package and Gitea sign it.
2. Delete endpoint for specific package version and all related files
3. Supports trust levels with `SigLevel = Required`.
4. Package UI with instructions to connect to the new pacman database and visualised package metadata

![](/attachments/810ca6df-bd20-44c2-bdf7-95e94886d750)

You can follow [this tutorial](https://wiki.archlinux.org/title/Creating_packages) to build a *.pkg.tar.zst package for testing

docs pr: https://codeberg.org/forgejo/docs/pulls/791

Co-authored-by: d1nch8g@ion.lc
Co-authored-by: @KN4CK3R
Co-authored-by: @mahlzahn
Co-authored-by: @silverwind
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4785
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Exploding Dragon <explodingfkl@gmail.com>
Co-committed-by: Exploding Dragon <explodingfkl@gmail.com>
2024-08-04 06:16:29 +00:00
Gergely Nagy
67fa52dedb
feat(quota): Quota enforcement
The previous commit laid out the foundation of the quota engine, this
one builds on top of it, and implements the actual enforcement.

Enforcement happens at the route decoration level, whenever possible. In
case of the API, when over quota, a 413 error is returned, with an
appropriate JSON payload. In case of web routes, a 413 HTML page is
rendered with similar information.

This implementation is for a **soft quota**: quota usage is checked
before an operation is to be performed, and the operation is *only*
denied if the user is already over quota. This makes it possible to go
over quota, but has the significant advantage of being practically
implementable within the current Forgejo architecture.

The goal of enforcement is to deny actions that can make the user go
over quota, and allow the rest. As such, deleting things should - in
almost all cases - be possible. A prime exemption is deleting files via
the web ui: that creates a new commit, which in turn increases repo
size, thus, is denied if the user is over quota.

Limitations
-----------

Because we generally work at a route decorator level, and rarely
look *into* the operation itself, `size:repos:public` and
`size:repos:private` are not enforced at this level, the engine enforces
against `size:repos:all`. This will be improved in the future.

AGit does not play very well with this system, because AGit PRs count
toward the repo they're opened against, while in the GitHub-style fork +
pull model, it counts against the fork. This too, can be improved in the
future.

There's very little done on the UI side to guard against going over
quota. What this patch implements, is enforcement, not prevention. The
UI will still let you *try* operations that *will* result in a denial.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-08-02 11:10:34 +02:00
Gergely Nagy
e1fe3bbdc0
feat(quota): Humble beginnings of a quota engine
This is an implementation of a quota engine, and the API routes to
manage its settings. This does *not* contain any enforcement code: this
is just the bedrock, the engine itself.

The goal of the engine is to be flexible and future proof: to be nimble
enough to build on it further, without having to rewrite large parts of
it.

It might feel a little more complicated than necessary, because the goal
was to be able to support scenarios only very few Forgejo instances
need, scenarios the vast majority of mostly smaller instances simply do
not care about. The goal is to support both big and small, and for that,
we need a solid, flexible foundation.

There are thee big parts to the engine: counting quota use, setting
limits, and evaluating whether the usage is within the limits. Sounds
simple on paper, less so in practice!

Quota counting
==============

Quota is counted based on repo ownership, whenever possible, because
repo owners are in ultimate control over the resources they use: they
can delete repos, attachments, everything, even if they don't *own*
those themselves. They can clean up, and will always have the permission
and access required to do so. Would we count quota based on the owning
user, that could lead to situations where a user is unable to free up
space, because they uploaded a big attachment to a repo that has been
taken private since. It's both more fair, and much safer to count quota
against repo owners.

This means that if user A uploads an attachment to an issue opened
against organization O, that will count towards the quota of
organization O, rather than user A.

One's quota usage stats can be queried using the `/user/quota` API
endpoint. To figure out what's eating into it, the
`/user/repos?order_by=size`, `/user/quota/attachments`,
`/user/quota/artifacts`, and `/user/quota/packages` endpoints should be
consulted. There's also `/user/quota/check?subject=<...>` to check
whether the signed-in user is within a particular quota limit.

Quotas are counted based on sizes stored in the database.

Setting quota limits
====================

There are different "subjects" one can limit usage for. At this time,
only size-based limits are implemented, which are:

- `size:all`: As the name would imply, the total size of everything
  Forgejo tracks.
- `size:repos:all`: The total size of all repositories (not including
  LFS).
- `size:repos:public`: The total size of all public repositories (not
  including LFS).
- `size:repos:private`: The total size of all private repositories (not
  including LFS).
- `size:git:all`: The total size of all git data (including all
  repositories, and LFS).
- `size:git:lfs`: The size of all git LFS data (either in private or
  public repos).
- `size:assets:all`: The size of all assets tracked by Forgejo.
- `size:assets:attachments:all`: The size of all kinds of attachments
  tracked by Forgejo.
- `size:assets:attachments:issues`: Size of all attachments attached to
  issues, including issue comments.
- `size:assets:attachments:releases`: Size of all attachments attached
  to releases. This does *not* include automatically generated archives.
- `size:assets:artifacts`: Size of all Action artifacts.
- `size:assets:packages:all`: Size of all Packages.
- `size:wiki`: Wiki size

Wiki size is currently not tracked, and the engine will always deem it
within quota.

These subjects are built into Rules, which set a limit on *all* subjects
within a rule. Thus, we can create a rule that says: "1Gb limit on all
release assets, all packages, and git LFS, combined". For a rule to
stand, the total sum of all subjects must be below the rule's limit.

Rules are in turn collected into groups. A group is just a name, and a
list of rules. For a group to stand, all of its rules must stand. Thus,
if we have a group with two rules, one that sets a combined 1Gb limit on
release assets, all packages, and git LFS, and another rule that sets a
256Mb limit on packages, if the user has 512Mb of packages, the group
will not stand, because the second rule deems it over quota. Similarly,
if the user has only 128Mb of packages, but 900Mb of release assets, the
group will not stand, because the combined size of packages and release
assets is over the 1Gb limit of the first rule.

Groups themselves are collected into Group Lists. A group list stands
when *any* of the groups within stand. This allows an administrator to
set conservative defaults, but then place select users into additional
groups that increase some aspect of their limits.

To top it off, it is possible to set the default quota groups a user
belongs to in `app.ini`. If there's no explicit assignment, the engine
will use the default groups. This makes it possible to avoid having to
assign each and every user a list of quota groups, and only those need
to be explicitly assigned who need a different set of groups than the
defaults.

If a user has any quota groups assigned to them, the default list will
not be considered for them.

The management APIs
===================

This commit contains the engine itself, its unit tests, and the quota
management APIs. It does not contain any enforcement.

The APIs are documented in-code, and in the swagger docs, and the
integration tests can serve as an example on how to use them.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-08-02 11:10:34 +02:00
Gergely Nagy
250f87db59
feat(api): An order_by param for user.ListMyRepos
Add an optional `order_by` parameter to the `user.ListMyRepos`
handler (which handles the `/api/v1/user/repos` route), allowing a user
to sort repos by name (the default), id, or size.

The latter will be useful later for figuring out which repos use most
space, which repos eat most into a user's quota.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-08-02 10:52:21 +02:00
Exploding Dragon
471265c4e0 Add signature support for the RPM module (#4780)
This pull request comes from https://github.com/go-gitea/gitea/pull/27069.

If the rpm package does not contain a matching gpg signature, the installation will fail. See ([gitea/gitea#27031](https://github.com/go-gitea/gitea/issues/27031)) , now auto-signing all new rpm uploads.

This option is turned off by default for compatibility.

<!--start release-notes-assistant-->

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Features
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/4780): <!--number 4780 --><!--line 0 --><!--description QWRkIHNpZ25hdHVyZSBzdXBwb3J0IGZvciB0aGUgUlBNIG1vZHVsZQ==-->Add signature support for the RPM module<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4780
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Exploding Dragon <explodingfkl@gmail.com>
Co-committed-by: Exploding Dragon <explodingfkl@gmail.com>
2024-08-02 05:56:57 +00:00
Gusted
db78a3abed
[API] Add error messages to dispatch API
- Add a error messages to the dispatch
API (https://code.forgejo.org/api/swagger#/repository/DispatchWorkflow)
when incorrect values are given. Otherwise an incorrect error message is
shown to the user.
- Relevant https://codeberg.org/forgejo/forgejo/issues/4765#issuecomment-2125392
2024-07-31 21:09:17 +02:00
Robert Wolff
994bd93e69 feat(UI): add package counter to repo/user/org overview pages
- add package counter to repo/user/org overview pages
    - add go unit tests for repo/user has/count packages
    - add many more unit tests for packages model
    - fix error for non-existing packages in DeletePackageByID and SetRepositoryLink
2024-07-31 12:40:24 +02:00
TheFox0x7
4de909747b Add testifylint to lint checks (#4535)
go-require lint is ignored for now

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4535
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: TheFox0x7 <thefox0x7@gmail.com>
Co-committed-by: TheFox0x7 <thefox0x7@gmail.com>
2024-07-30 19:41:10 +00:00
Earl Warren
94933470cd Merge pull request 'Implement external release assets' (#1445) from maltejur/forgejo:forgejo-external-attachments into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1445
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-30 15:50:57 +00:00
Malte Jürgens
a61e7c7a39
Implement external assets 2024-07-29 20:35:55 +02:00
Adam Majer
94e9cbcd71
Add return type to GetRawFileOrLFS and GetRawFile (#31680)
Document return type for the endpoints that fetch specific files from a
repository. This allows the swagger generated code to read the returned
data.

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit bae87dfb0958e6a2920c905e51c2a026b7b71ca6)
2024-07-28 09:00:29 +02:00
yp05327
d0e52fd641
Support delete user email in admin panel (#31690)
![QQ_1721784609320](https://github.com/user-attachments/assets/23f08bf3-93f4-44d7-963d-10380ef8c1f1)

![QQ_1721784616403](https://github.com/user-attachments/assets/667cbd1e-5e21-4489-8d18-2a7be85190db)

![QQ_1721784626722](https://github.com/user-attachments/assets/495beb94-dfa2-481c-aa60-d5115cad1ae1)

---------

Co-authored-by: Jason Song <i@wolfogre.com>
(cherry picked from commit cc044818c33ff066c4e5869c9e75de9707def6ed)
2024-07-28 09:00:29 +02:00
Stanislas Dolcini
e465ac854d
Use GetDisplayName() instead of DisplayName() to generate rss feeds (#31687)
Fixes #31491 The RSS feed converted ignored the setting used in the
application.

(cherry picked from commit d8f82cbc780d09bb7ad074407a48480f0333b4b3)
2024-07-28 07:27:10 +02:00
Gusted
a7e96aae66
[SEC] Notify owner about TOTP enrollment
- In the spirit of #4635
- Notify the owner when their account is getting enrolled into TOTP. The
message is changed according if they have security keys or not.
- Integration test added.
2024-07-26 19:49:22 +02:00
Earl Warren
e9e3b8c0f3
fix(api): issue state change is not idempotent
The PATCH if issue & pull request switched to use the service
functions instead. However, the service function changing the state is
not idempotent. Instead of doing nothing which changing from open to
open or close to close, it will fail with an error like:

 Issue [2472] 0 was already closed

Regression of: 6a4bc0289d

Fixes: https://codeberg.org/forgejo/forgejo/issues/4686
2024-07-25 15:16:44 +02:00
Gusted
4383da91bd
[SECURITY] Notify users about account security changes
- Currently if the password, primary mail, TOTP or security keys are
changed, no notification is made of that and makes compromising an
account a bit easier as it's essentially undetectable until the original
person tries to log in. Although other changes should be made as
well (re-authing before allowing a password change), this should go a
long way of improving the account security in Forgejo.
- Adds a mail notification for password and primary mail changes. For
the primary mail change, a mail notification is sent to the old primary
mail.
- Add a mail notification when TOTP or a security keys is removed, if no
other 2FA method is configured the mail will also contain that 2FA is
no longer needed to log into their account.
- `MakeEmailAddressPrimary` is refactored to the user service package,
as it now involves calling the mailer service.
- Unit tests added.
- Integration tests added.
2024-07-23 18:31:47 +02:00
Rowan Bohde
21fdd28f08
allow synchronizing user status from OAuth2 login providers (#31572)
This leverages the existing `sync_external_users` cron job to
synchronize the `IsActive` flag on users who use an OAuth2 provider set
to synchronize. This synchronization is done by checking for expired
access tokens, and using the stored refresh token to request a new
access token. If the response back from the OAuth2 provider is the
`invalid_grant` error code, the user is marked as inactive. However, the
user is able to reactivate their account by logging in the web browser
through their OAuth2 flow.

Also changed to support this is that a linked `ExternalLoginUser` is
always created upon a login or signup via OAuth2.

Ideally, we would also refresh permissions from the configured OAuth
provider (e.g., admin, restricted and group mappings) to match the
implementation of LDAP. However, the OAuth library used for this `goth`,
doesn't seem to support issuing a session via refresh tokens. The
interface provides a [`RefreshToken`
method](https://github.com/markbates/goth/blob/master/provider.go#L20),
but the returned `oauth.Token` doesn't implement the `goth.Session` we
would need to call `FetchUser`. Due to specific implementations, we
would need to build a compatibility function for every provider, since
they cast to concrete types (e.g.
[Azure](https://github.com/markbates/goth/blob/master/providers/azureadv2/azureadv2.go#L132))

---------

Co-authored-by: Kyle D <kdumontnu@gmail.com>
(cherry picked from commit 416c36f3034e228a27258b5a8a15eec4e5e426ba)

Conflicts:
	- tests/integration/auth_ldap_test.go
	  Trivial conflict resolved by manually applying the change.
	- routers/web/auth/oauth.go
	  Technically not a conflict, but the original PR removed the
	  modules/util import, which in our version, is still in use. Added it
	  back.
2024-07-22 15:44:13 +02:00
Gusted
6a49e3f468
[BUG] Fix panic on too high page number
- Fixes a panic where the file history router would panic if the page
number was set to a page where no commits would be returned. It now
returns a 404 in such case.
- Regresion of a5b1c1b0b3
- Panic log provided by @algernon.
- Minimal integration test added.

Co-authored-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-21 02:01:54 +02:00
Earl Warren
eb61437a52 Merge pull request '[UI] Convert milestone to HTMX' (#4542) from gusted/htmx-milestone into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4542
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-20 07:49:28 +00:00
Alexandre Oliveira
ef815db8f2 Remove hardcoded filenames for better readability 2024-07-17 23:20:48 +02:00
Gusted
d731dc793b
[UI] Convert milestone to HTMX
- Currently if you want to update the milestone of an issue or pull
request, your whole page will be reloaded to reflect the newly set
milestone. This is quite unecessary, as only the milestone text is
updated and a new timeline event is added.
- This patch converts the milestone section in the issue/pull request
sidebar to use HTMX, so it becomes a progressive element and avoids
reloading the whole page to update the milestone.
- The update of the milestone section itself is quite straightforward
and nothing special is happening. To support adding new timeline events,
a new element `#insert-timeline` is conviently placed after the last
timeline event, which can be used with
[`hx-swap-oob`](https://htmx.org/attributes/hx-swap-oob/) to position
new timeline events before that element.
- Adds E2E test.
2024-07-17 14:52:00 +02:00
Gusted
14d9c386fd
[UI] Fix HTMX support for profile card
- There were two issues with the profile card since the introduction of
HTMX in 3e8414179c. If an HTMX request
resulted in a flash message, it wasn't being shown and HTMX was
replacing all the HTML content instead of morphing it into the existing
DOM which caused event listeners to be lost for buttons.
- Flash messages are now properly being shown by using `hx-swap-oob`
and sending the alerts on a HTMX request, this does mean it requires
server-side changes in order to support HTMX requests like this, but
it's luckily not a big change either.
- Morphing is now enabled for the profile card by setting
`hx-swap="morph"`, and weirdly, the morphing library was already
installed and included as a dependency. This solves the issue of buttons
losing their event listeners.
- This patch also adds HTMX support to the modals feature, which means
that the blocking feature on the profile card now takes advantage of
HTMX.
- Added a E2E test.
2024-07-17 01:41:32 +02:00
Solomon Victorino
df22f8da5f fix: preserve object format dropdown options on /repo/create error (#4360)
To reproduce:
- make the repo creation form return with an error, like a duplicate name
- click on the Object format dropdown
- the options are missing as the listbox is empty

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4360
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Solomon Victorino <git@solomonvictorino.com>
Co-committed-by: Solomon Victorino <git@solomonvictorino.com>
2024-07-16 14:42:35 +00:00
Gergely Nagy
fc4f914e71
Load attachments for /issues/comments/{id}
The `/repos/{owner}/{repo}/issues/comments/{id}` API endpoint returns an
`assets` field, but the route handler did not load attachments, thus,
the field was never populated.

This patch fixes that, and adds a test to exercise it. The test fails
without the fix.

This addresses a bug discovered in Codeberg/Community#1607.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-16 11:09:54 +02:00
Gusted
45341ee9ce
[CHORE] Use github.com/ProtonMail/go-crypto
- We were previously using `github.com/keybase/go-crypto`, because the
package for openpgp by Go itself is deprecated and no longer
maintained. This library provided a maintained version of the openpgp
package. However, it hasn't seen any activity for the last five years,
 and I would therefore consider this also unmaintained.
- This patch switches the package to `github.com/ProtonMail/go-crypto`
which provides a maintained version of the openpgp package and was
already being used in the tests.
- Adds unit tests, I've carefully checked the callstacks to ensure the
OpenPGP-related code was covered under either a unit test or integration
tests to avoid regression, as this can easily turn into security
vulnerabilities if a regression happens here.
- Small behavior update, revocations are now checked correctly instead
of checking if they merely exist and the expiry time of a subkey is used
if one is provided (this is just cosmetic and doesn't impact security).
- One more dependency eliminated :D
2024-07-15 17:27:37 +02:00
ThetaDev
e80f8ff69f fix artifact range requests (#4218)
I noticed that Forgejo does not allow HTTP range requests when downloading artifacts. All other file downloads like releases and packages support them.

So I looked at the code and found that the artifact download endpoint uses a simple io.Copy to serve the file contents instead of using the established `ServeContentByReadSeeker` function which does take range requests into account.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4218
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: ThetaDev <thetadev@magenta.de>
Co-committed-by: ThetaDev <thetadev@magenta.de>
2024-07-10 05:28:01 +00:00
Gusted
a8460bb132
[BUG] Use correct SHA in GetCommitPullRequest
- The param wasn't `sha`, it was `ref`. Use this instead.
- Adds new integration tests.
- Resolves #4190
- Resolves #4025
2024-07-06 22:04:31 +02:00
Mai-Lapyst
98c8d45f0b Fixes an visual bug where the info box to dispatch a workflow is shown even for users that lack permissions to actualy run the workflow. (#4305)
Example: Visit https://v8.next.forgejo.org/Mai-Lapyst/test/actions?workflow=dispatch.yaml&actor=0&status=0 without being logged in.

![image](/attachments/98e74104-4d60-4f7f-b17c-7e76467cd397)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4305
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
Co-committed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
2024-07-06 05:30:58 +00:00
Twenty Panda
5561e80b04 fix(hook): ignore unknown push options instead of failing
If a repository has

git config --add push.pushOption submit=".sourcehut/*.yml"

it failed when pushed because of the unknown submit push
option. It will be ignored instead.

Filtering out the push options is done in an earlier stage, when the
hook command runs, before it submits the options map to the private
endpoint.

* move all the push options logic to modules/git/pushoptions
* add 100% test coverage for modules/git/pushoptions

Test coverage for the code paths from which code was moved to the
modules/git/pushoptions package:

* cmd/hook.go:runHookPreReceive
* routers/private/hook_pre_receive.go:validatePushOptions
  tests/integration/git_push_test.go:TestOptionsGitPush runs through
  both. The test verifying the option is rejected was removed and, if
  added again, will fail because the option is now ignored instead of
  being rejected.

* cmd/hook.go:runHookProcReceive
* services/agit/agit.go:ProcReceive
  tests/integration/git_test.go: doCreateAgitFlowPull runs through
  both. It uses variations of AGit related push options.

* cmd/hook.go:runHookPostReceive
* routers/private/hook_post_receive.go:HookPostReceive
  tests/integration/git_test.go:doPushCreate called by TestGit/HTTP/sha1/PushCreate
  runs through both.
  Note that although it provides coverage for this code path it does not use push options.

Fixes: https://codeberg.org/forgejo/forgejo/issues/3651
2024-07-02 21:39:01 +02:00
Mai-Lapyst
51735c415b Add support for workflow_dispatch (#3334)
Closes #2797

I'm aware of https://github.com/go-gitea/gitea/pull/28163 exists, but since I had it laying around on my drive and collecting dust, I might as well open a PR for it if anyone wants the feature a bit sooner than waiting for upstream to release it or to be a forgejo "native" implementation.

This PR Contains:
- Support for the `workflow_dispatch` trigger
- Inputs: boolean, string, number, choice

Things still to be done:
- [x] API Endpoint `/api/v1/<org>/<repo>/actions/workflows/<workflow id>/dispatches`
- ~~Fixing some UI bugs I had no time figuring out, like why dropdown/choice inputs's menu's behave weirdly~~ Unrelated visual bug with dropdowns inside dropdowns
- [x] Fix bug where opening the branch selection submits the form
- [x] Limit on inputs to render/process

Things not in this PR:
- Inputs: environment (First need support for environments in forgejo)

Things needed to test this:
- A patch for https://code.forgejo.org/forgejo/runner to actually consider the inputs inside the workflow.
  ~~One possible patch can be seen here: https://code.forgejo.org/Mai-Lapyst/runner/src/branch/support-workflow-inputs~~
  [PR](https://code.forgejo.org/forgejo/runner/pulls/199)

![image](/attachments/2db50c9e-898f-41cb-b698-43edeefd2573)

## Testing

- Checkout PR
- Setup new development runner with [this PR](https://code.forgejo.org/forgejo/runner/pulls/199)
- Create a repo with a workflow (see below)
- Go to the actions tab, select the workflow and see the notice as in the screenshot above
- Use the button + dropdown to run the workflow
  - Try also running it via the api using the `` endpoint
- ...
- Profit!

<details>
<summary>Example workflow</summary>

```yaml
on:
  workflow_dispatch:
    inputs:
      logLevel:
        description: 'Log Level'
        required: true
        default: 'warning'
        type: choice
        options:
        - info
        - warning
        - debug
      tags:
        description: 'Test scenario tags'
        required: false
        type: boolean
      boolean_default_true:
        description: 'Test scenario tags'
        required: true
        type: boolean
        default: true
      boolean_default_false:
        description: 'Test scenario tags'
        required: false
        type: boolean
        default: false
      number1_default:
        description: 'Number w. default'
        default: '100'
        type: number
      number2:
        description: 'Number w/o. default'
        type: number
      string1_default:
        description: 'String w. default'
        default: 'Hello world'
        type: string
      string2:
        description: 'String w/o. default'
        required: true
        type: string

jobs:
  test:
    runs-on: docker
    steps:
      - uses: actions/checkout@v3
      - run: whoami
      - run: cat /etc/issue
      - run: uname -a
      - run: date
      - run: echo ${{ inputs.logLevel }}
      - run: echo ${{ inputs.tags }}
      - env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"
      - run: echo "abc"
```
</details>

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3334
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
Co-committed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
2024-06-28 05:17:11 +00:00
6543
77da92f42a
Add cache test for admins (#31265)
Add a test to probe the cache similar to the email test func.

![image](https://github.com/go-gitea/gitea/assets/24977596/700e2733-586d-4091-900f-f5f71e6e94bf)

![image](https://github.com/go-gitea/gitea/assets/24977596/2a953802-18fc-4e81-a37d-24ebe1297365)

![image](https://github.com/go-gitea/gitea/assets/24977596/e00d62ad-bb60-41cc-9138-09993daee156)

---------

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: silverwind <me@silverwind.io>
(cherry picked from commit 363c1235987793dffa5cc851aaae585eb81f091e)

Conflicts:
	options/locale/locale_en-US.ini
	templates/admin/self_check.tmpl
	trivial context conflict
2024-06-23 11:27:03 +02:00
Earl Warren
d03a169dae Merge pull request 'Add headers to follower lists' (#4174) from 0ko/forgejo:ui-profile-followers-title into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4174
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-06-19 09:54:41 +00:00
0ko
53215726e1 Add headers to follower lists 2024-06-19 11:53:59 +05:00
Gusted
5926ed1f73
[SWAGGER] Make it consistent with reality
- Make the `UserSettings` definition an non-array, this is consistent
with the existing endpoints that uses this definition.
- Resolves #4179
2024-06-19 07:16:42 +02:00
wxiaoguang
35447463ba
Fix Activity Page Contributors dropdown (#31264)
Fix #31261

(cherry picked from commit e728fd741be7848d476663eec1c9caaf34b46e61)
2024-06-18 20:05:23 +02:00
Earl Warren
328b5d79d3 Merge pull request '[gitea] week 2024-25 cherry pick (gitea/main -> forgejo)' (#4145) from earl-warren/wcp/2024-25 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4145
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
2024-06-18 07:56:20 +00:00
Shiny Nematoda
b5d96e7db7 [FEAT] expose fuzzy search for issues/repo (#4160)
Ports fuzzy search for `/issues` and `/pulls` from gitea.
Adds fuzzy search for `/user/repo/issues` and `/user/repo/pulls`.

---
## Notes
### Port: [`gitea#be5be0ac81`](be5be0ac81)

- CONFLICT (content): Merge conflict in routers/web/user/home.go

Conflict resolved by
  1. keeping both `PageIsOrgIssues` and the newly introduced `IsFuzzy`
  2. using `pager.AddParam(ctx, "fuzzy", "IsFuzzy")` rather than `pager.AddParamString("fuzzy", fmt.Sprintf("%v", isFuzzy))`

- CONFLICT (content): Merge conflict in templates/user/dashboard/issues.tmpl

Conflict resolved by keeping the changes from #4096, and picking the `&fuzzy=${{.IsFuzzy}}` inclusion to all urls and `{{if .PageIsPulls}}...`

### Port: [`gitea#fede3cbada`](fede3cbada)

- CONFLICT (content): Merge conflict in templates/user/dashboard/issues.tmpl

Conflict resolved by keeping previous changes and picking the replacement of `{{if .PageIsPulls}}...` with `{{template "shared/search/combo_fuzzy"...` which contains the replacement of `explorer.go` to `explorer.go_to`

### Fixup commit

replaces `Iif` with `if` which was introduced in gitea#fede3cbada

### Feature commit

adds in support for /user/repo/(issues|pulls) + test

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Kerwin Bryant <kerwin612@qq.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4160
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
2024-06-17 18:58:24 +00:00
Beowulf
b03cc85f79
add org readme to search with priority
This adds org-mode readmes to the extensions that are prioritized when
searching for readme. Org-mode readmes come after markdown readmes in
terms of priority and before txt readmes.

Closes #4073
2024-06-16 15:27:28 +02:00
6543
3246e83251
Rename repo_model.SearchOrderByMap to repo_model.OrderByMap (#31359)
https://github.com/go-gitea/gitea/pull/30876#discussion_r1637112394
(cherry picked from commit 78e8296e113e2fd9259ec05fe87035427821ea0b)
2024-06-16 13:42:59 +02:00
Zettat123
813bf24445
Allow downloading attachments of draft releases (#31369)
Fix #31362

(cherry picked from commit 42718d32af9d259205bee0fde818ffc0c3a9797f)
2024-06-16 13:42:59 +02:00
mzroot
ff43d02803
Add tag protection via rest api #17862 (#31295)
Add tag protection manage via rest API.

---------

Co-authored-by: Alexander Kogay <kogay.a@citilink.ru>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit d4e4226c3cbfa62a6adf15f4466747468eb208c7)

Conflicts:
	modules/structs/repo_tag.go
	trivial context conflict
	templates/swagger/v1_json.tmpl
	fixed with make generate-swagger
2024-06-16 13:42:59 +02:00
6543
12e23ee199
[Refactor] Unify repo search order by logic (#30876)
have repo OrderBy definitions defined in one place and use a single type
for OrderBy database options

(cherry picked from commit bb04311b0b5b7a28f94c4bc409db1c4a04bcef17)
2024-06-16 13:42:58 +02:00
Rowan Bohde
1627d3a53f
Reduce memory usage for chunked artifact uploads to MinIO (#31325)
When using the MinIO storage driver for Actions Artifacts, we found that
the chunked artifact required significantly more memory usage to both
upload and merge than the local storage driver. This seems to be related
to hardcoding a value of `-1` for the size to the MinIO client [which
has a warning about memory usage in the respective
docs](https://pkg.go.dev/github.com/minio/minio-go/v7#Client.PutObject).
Specifying the size in both the upload and merge case reduces memory
usage of the MinIO client.

Co-authored-by: Kyle D <kdumontnu@gmail.com>
(cherry picked from commit 45dbeb5600d1f552c0134721fe49e8fd1099b5a4)
2024-06-16 13:42:58 +02:00
silverwind
d8bc0495de
Enable unparam linter (#31277)
Enable [unparam](https://github.com/mvdan/unparam) linter.

Often I could not tell the intention why param is unused, so I put
`//nolint` for those cases like webhook request creation functions never
using `ctx`.

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
(cherry picked from commit fc2d75f86d77b022ece848acf2581c14ef21d43b)

Conflicts:
	modules/setting/config_env.go
	modules/storage/azureblob.go
	services/webhook/dingtalk.go
	services/webhook/discord.go
	services/webhook/feishu.go
	services/webhook/matrix.go
	services/webhook/msteams.go
	services/webhook/packagist.go
	services/webhook/slack.go
	services/webhook/telegram.go
	services/webhook/wechatwork.go

	run make lint-go and fix Forgejo specific warnings
2024-06-16 13:42:58 +02:00
0ko
c320f16a0b Fix wrong error highlighting on install page (#4063)
More details are in PR message.

Changes applied:

* replace `Err_Services` with more specific `Err_DisabledRegistration`
* highlight the self-registration option instead of services section

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4063
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-06-11 19:05:05 +00:00
Earl Warren
df373c9f7e Merge pull request '[gitea] week 2024-24 cherry pick (gitea/main -> forgejo)' (#4083) from earl-warren/wcp/2024-24 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4083
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
2024-06-11 10:37:26 +00:00
oliverpool
7d6a0bced9 fix: PKCE only for supported providers 2024-06-10 11:24:32 +02:00
Thomas Desveaux
c6e04c3c9e
Fix NuGet Package API for $filter with Id equality (#31188)
Fixes issue when running `choco info pkgname` where `pkgname` is also a
substring of another package Id.

Relates to #31168

---

This might fix the issue linked, but I'd like to test it with more choco
commands before closing the issue in case I find other problems if
that's ok.

---------

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
(cherry picked from commit c888c933a930ee2ba4e7bb0bf6678aaf45a9778a)
2024-06-09 11:13:39 +02:00
silverwind
b62fa72ceb
Remove unnecessary inline style for tab-size (#31224)
Move the rule to the parent node. `tab-size` is inherited so will work
just as before.

(cherry picked from commit 0f0db6a14fd10a493ba73f211e2e627c3884d114)
2024-06-09 11:13:39 +02:00
mirko
f015846c11 Add slogan config (#3752)
This is a PR for #3616

Currently added a new optional config `SLOGAN`  in ini file. When this config is set title page is modified in APP_NAME [ - SLOGAN]

Example in image below

![Selezione_075.png](/attachments/7a72171e-e730-4e57-8c97-ffc94258e00f)

Add the new config value in the admin settings page (readonly)

![Screenshot 2024-05-13 at 18-04-13 My Forgejo.png](/attachments/dad00fc2-29fa-4371-a7b9-5233eadeac13)

## TODO

* [x] Add the possibility to add the `SLOGAN` config from the installation form
* [ ] Update https://forgejo.org/docs/next/admin/config-cheat-sheet

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3752
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: mirko <mirko.perillo@gmail.com>
Co-committed-by: mirko <mirko.perillo@gmail.com>
2024-06-07 17:12:48 +00:00
Earl Warren
dd0cabdaa4
feat(federated-star) star repositories via ActivityPub (#1680)
commit 1be80cfdbca10d5014cec904e96c7a390b338493
Merge: c01b10a593 130981af64
Author: Earl Warren <earl-warren@noreply.codeberg.org>
Date:   Thu Jun 6 06:36:34 2024 +0000

    Merge pull request 'federated-star' (#1680) from meissa/forgejo:forgejo-federated-star into forgejo

    Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1680
    Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>

commit 130981af64
Merge: 62856e639e c01b10a593
Author: Earl Warren <earl-warren@noreply.codeberg.org>
Date:   Thu Jun 6 06:07:34 2024 +0000

    Merge branch 'forgejo' into forgejo-federated-star

commit 62856e639e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jun 6 07:26:28 2024 +0200

    adjust field name

commit 81236bc9ef
Merge: c0b9ab2060 1b3ccfffe8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Jun 5 07:33:12 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit c0b9ab2060
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Jun 4 12:37:18 2024 +0200

    Extend integration test for staring federated repo

commit 98939c4745
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 31 18:05:29 2024 +0200

    remove no longer used doc

commit 17e3f6c6f3
Merge: 58b8f57d3f f887972348
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 31 18:03:19 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 58b8f57d3f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 29 09:20:39 2024 +0200

    more lint

commit c3650cb2fe
Merge: 07e2708e3d 73f6e8809a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 29 09:01:00 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 07e2708e3d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 29 08:59:32 2024 +0200

    lint

commit e7580da130
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 29 08:58:19 2024 +0200

    lint

commit 7b2309592c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 29 08:55:47 2024 +0200

    remove unused

commit dadfb29ae9
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 29 08:44:00 2024 +0200

    relax validation

commit 26612aa75b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue May 28 15:37:53 2024 +0200

    Add ToDo

commit fa5806cecf
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue May 28 15:37:41 2024 +0200

    Use StatusSeeOther

commit 75c93e5319
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue May 28 12:54:49 2024 +0200

    Update NewRepositoryID with case for following repo

commit 9c9333868c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue May 28 12:38:27 2024 +0200

    Add todo

    We currently validate RepositoryID uris to be a valid api address from our own server.

commit 69e79e50c2
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue May 28 12:36:34 2024 +0200

    Lift test env prep one up

commit 72f2f35bd8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 28 08:57:03 2024 +0200

    wip integration test

commit a133b6de31
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 28 08:53:19 2024 +0200

    rename

commit 3d1586d9cb
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon May 27 08:20:43 2024 +0200

    translation hast to be done in translation tool

commit 108971ddc8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon May 27 08:18:09 2024 +0200

    add migration

commit 6ef691b8d7
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 24 16:34:11 2024 +0200

    lint

commit a3c90e3085
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 24 13:27:37 2024 +0200

    field no longer in use

commit 5ace6816ac
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 24 08:50:54 2024 +0200

    remove todo - no change required

commit 64be24ed0c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 24 08:49:08 2024 +0200

    Format & remove old todos

commit 30e2582f24
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 24 08:24:54 2024 +0200

    mv doc to doc project

commit 2e72b5e05b
Merge: 4c87b0b3ee eea841d25d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 24 07:25:20 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 4c87b0b3ee
Merge: a1acc46c88 9c7ff70072
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 22 18:23:21 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit a1acc46c88
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 21 18:46:48 2024 +0200

    make mocked user consistent

commit a62c2afcea
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue May 21 11:43:15 2024 +0200

    Extended integration test

commit 07659a5e7e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 17 08:15:33 2024 +0200

    rename fxct name

commit 86db5f612c
Merge: 307b27bbaa 45a41811de
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu May 16 18:28:43 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 307b27bbaa
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu May 16 18:22:09 2024 +0200

    choose a not local avail federated userid

commit a9c00d49da
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu May 16 10:55:17 2024 +0200

    Set LowerName to name with lower case

commit 6457ace318
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu May 16 10:26:51 2024 +0200

    Added migrations for User and FederatedUser

commit 1b3c4dcd85
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu May 16 10:06:13 2024 +0200

    Extended AP like-repo integration test

commit 94be68725a
Merge: 08fe47d5c8 fe3473fc8b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 15 09:35:02 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 08fe47d5c8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 14 07:48:00 2024 +0200

    Do not relay on ID start at 1

commit 57a9729094
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 14:29:54 2024 +0200

    linting

commit e55533d64d
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 14:15:36 2024 +0200

    Added migration for creation of federation_host table

commit cf9953a612
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 12:28:31 2024 +0200

    linting

commit c3fb34d5b4
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 12:00:16 2024 +0200

    fixed some comments

commit 379b0234eb
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 12:00:02 2024 +0200

    added test cases for federationhost

commit 8f42684599
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 11:24:50 2024 +0200

    Renamed field of FederationHost

commit c4f9f8578a
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 13 11:14:04 2024 +0200

    Introduced ErrNotValid

commit cb4690e570
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon May 13 07:45:37 2024 +0200

    linting

commit 3cc48a5c9f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 10 17:44:26 2024 +0200

    format

commit 3bf423c97f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 10 17:29:49 2024 +0200

    assert, that federation-host is present.

commit 8d330fdb5d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 10 17:01:15 2024 +0200

    Now we've an intergration test with second federation server

commit 0665c1252e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 10 16:25:54 2024 +0200

    make start time more flexible

commit c4c03dab4b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 10 15:27:54 2024 +0200

    on the way to test with second server

commit 8ec570841a
Merge: e122df36f8 99d1ae52fc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 7 17:49:26 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit e122df36f8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 7 17:47:35 2024 +0200

    prepare for next pr

commit fdfc21a6b8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue May 7 07:38:20 2024 +0200

    review results

commit 82fe1d3e42
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon May 6 16:01:23 2024 +0200

    make fmt

commit a485837b9c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon May 6 08:52:25 2024 +0200

    removed unused code

commit c70b8d28a3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon May 6 08:12:43 2024 +0200

    linting

commit 8f298a9901
Merge: b99d66b530 8c3511a8b3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon May 6 07:58:50 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit b99d66b530
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun May 5 18:04:12 2024 +0200

    linting

commit 3a6dfadcd0
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun May 5 17:10:16 2024 +0200

    linting

commit 510868731d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun May 5 16:58:15 2024 +0200

    linting

commit 1a07db1a40
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun May 5 16:35:25 2024 +0200

    omit linting next try

commit ca0a53bf5f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat May 4 17:58:54 2024 +0200

    omit linting maybe?

commit ee71f86432
Merge: 957b1023e9 85f2727872
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 3 08:44:49 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 957b1023e9
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri May 3 08:00:17 2024 +0200

    refactoring: separaate model & module

commit 42837f5dab
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu May 2 08:56:36 2024 +0200

    fix linting

commit ded7b60d0c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 15:46:15 2024 +0200

    wix the invalid test

commit 534d692d68
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 15:46:03 2024 +0200

    fix field names

commit 715ff0eb7f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 15:23:39 2024 +0200

    remove unused & fix wording

commit 87036ec719
Merge: be6e6eb96a bbec2e2960
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 15:02:36 2024 +0200

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit be6e6eb96a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 15:02:27 2024 +0200

    refactor validation

commit bbec2e2960
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed May 1 14:53:42 2024 +0200

    Fix test and add symmetry

    This maybe was a mixup with TestActivityValidation.
    We now test if the UnmarshalJSON actually threw an error.

commit 4b2802a6ba
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 14:39:23 2024 +0200

    internal refactoring

commit 6c7cff4f16
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed May 1 14:39:09 2024 +0200

    fix NPE

commit e9fed7a488
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Apr 29 20:13:37 2024 +0200

    found NPE

commit 285e72e4e6
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Apr 29 19:51:28 2024 +0200

    found issue during test

commit a9a30fc212
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Apr 29 08:40:46 2024 +0200

    remove resolved todo & integration test

commit 2f2330c450
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun Apr 28 13:52:51 2024 +0200

    first integration test

commit 70ae102597
Merge: df2fd904b3 d6c36ec406
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Apr 26 17:16:15 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit df2fd904b3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Apr 26 16:37:16 2024 +0200

    drop some words on normalized uri as id

commit 37ed52cfd9
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Apr 26 16:19:31 2024 +0200

    start add NormalizedFederatedUri to user

commit f687f79ed0
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Apr 26 15:48:56 2024 +0200

    start add NormalizedFederatedUri to user

commit b878e74f76
Merge: 71141a5ff3 37420442de
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 12 14:33:57 2024 +0200

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit 71141a5ff3
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 12 14:33:47 2024 +0200

    WIP Refactoring and solving (adding) ToDos

commit fb1d0df791
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 12 14:29:32 2024 +0200

    Also check for RepoID to be unique

commit f3e58f29b0
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 12 14:24:38 2024 +0200

    Pass unvalidated input to field

commit feca77b040
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 12 13:58:55 2024 +0200

    Rename for clearer semantics

commit 37420442de
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Apr 12 13:52:26 2024 +0200

    unify copyright comment

commit 94091cc144
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 16:38:49 2024 +0200

    Don't use TEXT type

commit 6310e75d8d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 16:33:13 2024 +0200

    Update todo

commit 075857f030
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 16:32:49 2024 +0200

    Update docs

commit 19628b84c6
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 16:00:51 2024 +0200

    use context

commit 80888b80d6
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 16:00:28 2024 +0200

    Fix imports

commit af0d0f7745
Merge: bbcb8e7060 9d6389352d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 15:38:11 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit bbcb8e7060
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 14:21:51 2024 +0200

    Bits of format

commit bb83a8d85e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 12:58:28 2024 +0200

    make fmt

commit 0eb71098a2
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 12:53:56 2024 +0200

    make tidy

commit e2c9653b33
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 12:47:26 2024 +0200

    Update go version and protobuf deps

commit 2b9977d843
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 11:46:11 2024 +0200

    Linting

commit 511ef0bf5b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 11:24:22 2024 +0200

    Use federated staring func

commit 8579b7f7bb
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 11:21:57 2024 +0200

    Use optional.Some

commit 97343470bc
Merge: 213fc3a97d 21b1381e36
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 9 10:42:42 2024 +0200

    Merge branch 'forgejo' into forgejo-federated-star

commit 213fc3a97d
Merge: c908455998 765298814c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Apr 6 10:59:41 2024 +0200

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit c908455998
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Apr 6 10:59:36 2024 +0200

    fix multiple federation in one host

commit 765298814c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 5 17:07:04 2024 +0200

    Add ToDo

commit 33c60ebdff
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Apr 5 17:06:57 2024 +0200

    Add logging

commit 41f066a1a6
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Apr 4 18:33:08 2024 +0200

    add notes for setup

commit 15bb774409
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Apr 4 18:05:55 2024 +0200

    add relation details

commit 8d78c3edca
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Apr 4 15:12:41 2024 +0200

    make fmt

commit b4e6a7ea3f
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Apr 4 15:09:40 2024 +0200

    make lint-go-fix

commit 92d011f1a5
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Apr 4 15:08:02 2024 +0200

    fix some linting issues

commit 976d79044f
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Apr 4 08:32:37 2024 +0200

    show apapiurl in repo settings

commit 73cf1e3901
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Apr 4 07:22:04 2024 +0200

    Revert "added repoUri to federationService"

    This reverts commit 8cd89bf4d3.

commit 8cd89bf4d3
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Apr 3 15:39:37 2024 +0200

    added repoUri to federationService

    This does not work yet. APAPI url OR host and id have to be derived from repoUri.

commit 2b7a22afb3
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Apr 3 12:26:33 2024 +0200

    renamed FederatedRepo to FollowingRepo

commit daccaed157
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Apr 3 12:08:44 2024 +0200

    Rename federatedRepo to followingRepo

commit d240a9bc90
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Apr 3 10:25:40 2024 +0200

    trim trailing semicolon

commit 5671566df6
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Apr 3 09:53:19 2024 +0200

    adjust fed repo splitting

commit 7a142c876e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Apr 2 18:36:22 2024 +0200

    remove federated user in case of user deletion

commit 5edf7d0e61
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Apr 2 17:33:32 2024 +0200

    Also trim whitespaces within the list items

commit 431b4c2829
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Apr 2 12:38:06 2024 +0200

    optimize function

commit 962cd374e2
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Apr 2 12:36:04 2024 +0200

    delete federated repos when deleting repository

commit 8b56159042
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Apr 2 11:13:50 2024 +0200

    prevent error when setting no fed repos

commit 9212fb1633
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Apr 2 09:03:49 2024 +0200

    feedback from discussion

commit b747342672
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 28 16:08:29 2024 +0100

    separate collecting activities from sending them

commit 2ad685fd2c
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Mar 28 15:41:43 2024 +0100

    fix like target

commit e2b11b93bc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 28 15:21:40 2024 +0100

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit fc8e2b3f8a
Merge: 4d5c8b5563 7f19247b0a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 28 15:05:35 2024 +0100

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit 4d5c8b5563
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 28 15:00:55 2024 +0100

    refactor services

commit 7f19247b0a
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Mar 28 14:27:50 2024 +0100

    Moved sendLikeActivities to federation_service

commit 1ad7bdf983
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Thu Mar 28 09:36:08 2024 +0100

    fixed tests
    part1, one test still failing

commit d624ebb712
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 28 08:13:00 2024 +0100

    use doer coming from api

commit 992fbf6898
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 28 07:44:22 2024 +0100

    comments

commit 259c0202c7
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Mar 27 19:56:32 2024 +0100

    fix test & add some review

commit 8eae48761f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Mar 27 19:26:55 2024 +0100

    add some pictures

commit e75bcb2f89
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Mar 27 19:02:37 2024 +0100

    rename file

commit 97b5e0da91
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Mar 27 16:20:33 2024 +0100

    revise NewForgeLike
    Also added new test, which still fails since time.Now() does not match

commit 911e916a4f
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Mar 27 11:33:00 2024 +0100

    Added new blog post

commit a2a5956d79
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Mar 27 09:29:23 2024 +0100

    Added context and choices to new adr

commit dd37e3a7b8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Mar 27 08:25:16 2024 +0100

    wip

commit a950ba4631
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Mar 27 08:21:44 2024 +0100

    prepare state of the month

commit 84f73d9db8
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 16:56:06 2024 +0100

    Add ToDo

commit 01e9853161
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 16:54:55 2024 +0100

    Add ToDo for storing federated repos

    We need to check whether federated repos already exist in db. This way multiple repos on a server (forks) can have the same federated repos.

commit 45cddb4ac7
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 16:53:02 2024 +0100

    Add logging

commit 436466dcad
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 16:21:28 2024 +0100

    Check if federation enabled in StarRepo

commit e9bbdc678b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 16:21:09 2024 +0100

    Not using object URL

commit 04f907c8c8
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 15:28:55 2024 +0100

    Revert

commit 32d457f9a3
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 15:28:36 2024 +0100

    StarRepo Wrapper

commit 0b8aa3105c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 15:28:11 2024 +0100

    Create object manually

commit b2105de36f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 26 14:39:25 2024 +0100

    SendLikeActivity to api

    It might not be a good idea to start a possibly long lasting http call during a running DB transaction. I.E. in the case of failing transaction we already sent some data into the world which might not be valid.

commit bbe5096307
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Mar 26 14:02:30 2024 +0100

    fixed circular dependencies
    next: fix post call error

commit 7f0371056e
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Mar 26 10:23:14 2024 +0100

    moved functionality
    import of forgefed causes circular dependencies. This has to be solved!

commit d251fc2611
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Mar 26 08:28:22 2024 +0100

    set federatedRepoList into context

commit cf8a30efac
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Mar 26 07:58:04 2024 +0100

    mob-next: how to store port & schema

commit 5b8173f660
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Mar 26 07:36:09 2024 +0100

    do not return invalid result

commit 6d814447d0
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Mon Mar 25 16:52:39 2024 +0100

    Use Plural

commit 653ced5596
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Mon Mar 25 16:47:18 2024 +0100

    Validate before returning

commit 35d3fc199c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Mon Mar 25 16:35:35 2024 +0100

    Rename to StoreFederatedRepo*

commit ca7d1c6f78
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Mon Mar 25 16:30:02 2024 +0100

    Localize error messages

commit 828e7a76f6
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Mar 25 09:15:32 2024 +0100

    use new table to populate settings

commit a9d18e5327
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Mar 23 17:01:25 2024 +0100

    fixed issues, store now works

commit ce317c33cb
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Mar 23 15:27:45 2024 +0100

    fix context

commit 950dcd959e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 22 20:14:20 2024 +0100

    implement storage of federated_repo

commit 6b767684a7
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Mar 22 17:51:20 2024 +0100

    Add discussion ToDo

commit 0f27f0a05b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Mar 22 17:49:29 2024 +0100

    Add discussion ToDo

commit 0f9d1c80be
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Mar 22 17:42:38 2024 +0100

    Implement CreateFederatedRepoList

commit 36c0c1c3c1
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Mar 22 17:41:59 2024 +0100

    Add DB functionality for federated repos

commit 288dda282c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Mar 22 17:41:36 2024 +0100

    Add more ToDos

commit 508b4deac8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 22 08:37:06 2024 +0100

    add test & fix compile

commit 4938d38e39
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 22 08:08:54 2024 +0100

    more review

commit 9ccad50b05
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 22 07:52:03 2024 +0100

    review

commit 7316108d56
Merge: 7e355986f8 3e6eb255b3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 22 07:32:30 2024 +0100

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit 7e355986f8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 22 07:32:22 2024 +0100

    fix wording

commit 3e6eb255b3
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 16:29:13 2024 +0100

    WIP Initial, naive implementation of sending stars to fed repos

    Currently no rate limits are respected
    The mechanisms to use the Federated repo table need to be used

commit 0c6c43003c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 16:27:35 2024 +0100

    Implement getting APAPIURL for repo and user

commit ed256ca540
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 16:27:08 2024 +0100

    Implement NewForgeLike

commit 2e0584bdf3
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 15:37:37 2024 +0100

    Clearer error message

    "May" is also interchangeable with "could". "Should" fits better in this context.

commit 84f2aab570
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 14:42:38 2024 +0100

    Add todo

commit 42a41ce2bc
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 14:42:16 2024 +0100

    Remove todo

commit a02ec0363b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 14:42:04 2024 +0100

    Add todo

commit e4242dafd9
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 14:41:11 2024 +0100

    Add Function description

commit 689837b63a
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 12:59:59 2024 +0100

    Fix typos

commit f327c0da24
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 12:18:29 2024 +0100

    Cap max size of federated repo list at 2048 bytes

commit 6055b4fca0
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Mar 21 11:42:12 2024 +0100

    Add todo

commit b4bb41e0e3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Mar 21 08:25:40 2024 +0100

    introduce federated repo

commit 3b30c678e7
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 16:22:35 2024 +0100

    Remove ToDo

commit b6035c03ae
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 16:14:54 2024 +0100

    Rephrasing for clearness

commit 2e803e10c0
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 16:12:42 2024 +0100

    Do not use binding at this stage

    It wasn't clear how to utilize the "type" field in the .tmpl for our
    purposes.

commit 13bf84e89e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 16:12:20 2024 +0100

    Implent checking for list of repos

commit 3dda92b52b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 13:26:46 2024 +0100

    Update Locales to reflect changes

commit ea4471d0db
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 13:22:56 2024 +0100

    Remove ToDos

commit d1190423bb
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 13:21:17 2024 +0100

    Implement single Repo validation and saving POC

commit 1cbd5e33cb
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 13:16:53 2024 +0100

    Validate Federated Repos Field

    Considering this from a POC perspective we might want to avoid misuse
    of this field. In other words, we want this field to be used as
    intended.

commit 584af0486d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Mar 20 13:13:23 2024 +0100

    Add Federation specific URL validation

commit 41da150fb3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Mar 19 19:28:33 2024 +0100

    add review comment

commit 84f236a58d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 15:30:56 2024 +0100

    Add more todos

commit 884e38bdab
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 15:25:52 2024 +0100

    WIP Implement proper saving of federated repo urls

    Added ToDos where relevant

commit 9337274334
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 13:56:12 2024 +0100

    Revert to input

commit abc7aa0972
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 13:53:00 2024 +0100

    Display data on text area

commit 048ff5da11
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 13:52:14 2024 +0100

    Fix typos

commit 4c1d12b2e4
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 13:52:00 2024 +0100

    Use textarea as we expect lots of input

commit 09cac163e0
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 13:17:27 2024 +0100

    Add a field for listing the federated repos

commit a6d45f8b97
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Mar 19 11:56:25 2024 +0100

    Implement FederationEnabled function for templates

commit 26eb01b509
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Tue Mar 19 10:25:20 2024 +0100

    corr var label name

commit 3018769d26
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Tue Mar 19 10:05:31 2024 +0100

    Federation settigs :: set label name for internationalisation

commit 6901ae4b99
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Mar 19 08:29:57 2024 +0100

    wip: found backend for settings update

commit 9dcdf8d828
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Mar 16 12:46:43 2024 +0100

    Locales, field & action

commit fdcff3cc43
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Mar 8 18:25:37 2024 +0100

    found the template for frontend

commit 93d7de147b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Mar 4 13:57:33 2024 +0100

    adjust to new dev-model

commit e41fa653d9
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Mar 4 13:43:16 2024 +0100

    fix en name of score :-)

commit 0e73dfccbb
Merge: e2ca63ca38 db2f896264
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 14 18:23:15 2024 +0100

    Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star

commit e2ca63ca38
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 14 18:23:10 2024 +0100

    Add Malicious Controlled Forge - kudos to gusted

commit db2f896264
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Tue Feb 13 11:09:31 2024 +0100

    small fix by adding id as pk for FederatedUser

commit 086c66b06a
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon Feb 12 13:07:15 2024 +0100

    make tidy

commit 2e41fe0a46
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Mon Feb 12 13:00:47 2024 +0100

    fix import

commit d65cd5a17a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Feb 12 10:55:00 2024 +0100

    ActorID gets source type from NodeInfo

commit 181d743a8a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Feb 12 10:14:29 2024 +0100

    update copyright

commit 9662aee375
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Feb 12 10:14:16 2024 +0100

    reflect hard fork

commit 6e6813a88b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 18:17:40 2024 +0100

    make operatorid unique

commit 6d17f45986
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 17:56:17 2024 +0100

    fix misspell

commit eecb9b8040
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 17:46:27 2024 +0100

    fmt fix

commit 664144930e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 17:10:59 2024 +0100

    result of lint-fix

commit 5fa62287d6
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 17:00:21 2024 +0100

    undo rebase conflicts

commit 3ef57385ec
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 16:44:03 2024 +0100

    fix linting

commit 3b244d673b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 16:24:51 2024 +0100

    small fixes

commit ac82486a95
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 15:31:58 2024 +0100

    This months blog

commit 8917bfca0c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 15:12:49 2024 +0100

    add a arch federation overview

commit 94937abc04
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 9 15:12:26 2024 +0100

    Source is no longer needed - see adr-federated-star

commit b2cc848e7d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 8 15:31:02 2024 +0100

    clean up aliases

commit e733809ef2
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 8 15:16:37 2024 +0100

    symetric handling for value/reference

commit d2d5e84977
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 8 15:16:02 2024 +0100

    federated user is not entity - so no need for ID

commit 91f7541add
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 8 13:31:27 2024 +0100

    refactor for semantic and cycle free deps

commit 66bc7a9a0c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 8 11:09:55 2024 +0100

    Search federatedUser instead of loginName

commit e44be72251
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 8 09:56:49 2024 +0100

    Add tx around user creation

commit edf7f61b83
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 7 17:11:43 2024 +0100

    mv federated_user_creation to user package

commit e180467760
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Feb 7 16:42:40 2024 +0100

    added user creation from ap

commit a702da69cc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 7 16:12:23 2024 +0100

    added test for federated user

commit 67f3f66be4
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Feb 7 15:37:48 2024 +0100

    Created FederatedUser

commit e477181e23
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Wed Feb 7 15:03:21 2024 +0100

    fix typos

commit a1ca7e958a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 7 14:59:39 2024 +0100

    use local fqdn for generated user email

commit 5a7f6f15a6
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 7 14:30:17 2024 +0100

    ensure federation info fqdn to lowercase

commit e05c810823
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Feb 7 13:52:25 2024 +0100

    document usermapping chosen

commit e255f73731
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Feb 6 13:30:09 2024 +0100

    make class diagram more accurate

commit 7db83688db
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Feb 6 12:45:33 2024 +0100

    updated rebase process

commit ed99dfa993
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Feb 2 17:25:02 2024 +0100

    new threats thx to gusted

commit 56660e3a0b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Feb 1 15:48:56 2024 +0100

    add aspect resulting from our discussion

commit b02b8a307c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun Jan 28 12:48:44 2024 +0100

    fix wording

commit c45e726383
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun Jan 28 12:43:56 2024 +0100

    fix wording

commit 5ef823e3af
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Jan 27 15:03:37 2024 +0100

    adjust urls to changed username

commit a08e435a1e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 26 17:16:26 2024 +0100

    updated rebase instructions

commit 6b14d1a562
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 26 16:13:55 2024 +0100

    updated rebase instructions

commit 49b014f28f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 19 16:33:59 2024 +0100

    add reply attack to blog

commit c58a995fb2
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 19 16:26:16 2024 +0100

    refactor FederationInfo -> FederationHost

commit e926ea16e2
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 18 20:06:56 2024 +0100

    improve english ..

commit e1f27a950c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 18 20:01:22 2024 +0100

    improve english ..

commit 2c55c0252f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 18 19:48:36 2024 +0100

    prepare discussion

commit 2b5360a000
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 18 19:20:15 2024 +0100

    work on adr

commit a6b7cc8e70
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 18 19:20:02 2024 +0100

    update needed modules

commit 0453598e3d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Jan 16 09:31:36 2024 +0100

    add some todos

commit 48c6d62e47
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Jan 16 09:31:27 2024 +0100

    blog: newest on top

commit c6981cdbf6
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Jan 16 08:28:12 2024 +0100

    proposals for federatedPerson Mapping

commit e2291fec1e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Jan 15 08:12:40 2024 +0100

    think about federated persons

commit 5a88eef78e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Jan 15 08:12:26 2024 +0100

    Propose the current solution

commit 0ddc2db46a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun Jan 14 14:53:00 2024 +0100

    mitigate Block by future StartTime

commit 1b35bd2911
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sun Jan 14 13:03:51 2024 +0100

    lint fix

commit f25eab35fc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Jan 13 17:16:43 2024 +0100

    Update for new implementation

commit c4eb763f4a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Jan 13 17:06:40 2024 +0100

    lint fix

commit 9a9ac33766
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Jan 13 16:22:49 2024 +0100

    lint fix

commit ca5eaa8c6b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Jan 13 16:08:12 2024 +0100

    introduce FI Factory

commit dabd773f6b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Jan 13 14:17:11 2024 +0100

    Fix error handling & add timestamp check

commit 40ec049013
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 12 18:12:22 2024 +0100

    add the next todo

commit 7d30d14c76
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Fri Jan 12 17:49:07 2024 +0100

    breaking  struct adjustment

commit 1f989f2ecd
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Fri Jan 12 17:27:52 2024 +0100

    Added FederationInfo Create function

commit 380d3db0bf
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 12 17:00:17 2024 +0100

    integrate federation info in api call

commit 52400f7978
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Fri Jan 12 16:12:54 2024 +0100

    Added FederationInfo get methods for repository

commit bbccc24ed1
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 12 15:34:34 2024 +0100

    test federationinfo validation

commit 9c37272ee9
Author: Clemens <clemens.geibel@meissa-gmbh.de.de>
Date:   Fri Jan 12 14:57:22 2024 +0100

    make validateNotEmpty more generic

commit c67be3b668
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 12 14:35:43 2024 +0100

    start work on federationinfo

commit 8610d94af8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 12 14:33:52 2024 +0100

    start work on federationinfo

commit 12558d62c8
Author: bom <mattis.boeckle@meissa-gmbh.de>
Date:   Fri Jan 12 12:43:14 2024 +0100

    Remove MaxConnsPerHost limit for outgoing connections

commit 87bfa79f71
Author: bom <mattis.boeckle@meissa-gmbh.de>
Date:   Fri Jan 12 12:29:00 2024 +0100

    Configure client against DOS

commit ecf391dcbf
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Jan 9 09:14:52 2024 +0100

    add some user creation unittests

commit de2569618c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Jan 8 18:21:55 2024 +0100

    fix: wmail should start with char

commit f0af660cf9
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 18:19:46 2024 +0100

    give names to threats

commit a8b132da80
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 17:43:18 2024 +0100

    provide the next testing

commit 2d98b22604
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 17:11:20 2024 +0100

    blog the next test release

commit 0fac86a384
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 16:42:57 2024 +0100

    update to new star activity

commit 42eab2d304
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 12:03:36 2024 +0100

    add test-release-branch

commit 680213b479
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 11:43:52 2024 +0100

    translate scoring

commit 1fc1dda59d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 11:40:35 2024 +0100

    Fix wording

commit b978642da0
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Jan 5 11:34:32 2024 +0100

    improve sequence

commit fe9f26305f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 4 18:25:43 2024 +0100

    update ThreatAnalysis for Like Aktivity

commit 6e46739090
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Jan 4 18:04:46 2024 +0100

    validate person

commit 0505baab2b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Jan 3 18:52:41 2024 +0100

    ad validation for like activity

commit 3ab2d9a449
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Jan 3 18:29:12 2024 +0100

    rename star -> ForgeLike

commit 4473fb788a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Jan 3 18:10:24 2024 +0100

    start refactoring star->like

commit 38438b592f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 18:09:27 2023 +0100

    rebase conflicts to fix

commit f673dd1ca7
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 16:31:52 2023 +0100

    source no longer needed

commit 084eed82a4
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 16:30:58 2023 +0100

    use federate-repo users for our local test

commit b2a9b53041
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 15:54:13 2023 +0100

    use nodeInfo.Source instead of startActivity.Source

commit 8116214727
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 15:48:45 2023 +0100

    introduce nodeinfo

commit 587bd07372
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 15:48:31 2023 +0100

    mv more fkt to http-client

commit 310d740cee
Author: bom <mattis.boeckle@meissa-gmbh.de>
Date:   Fri Dec 29 12:10:07 2023 +0100

    Start NodeInfo implementation

commit 3c2493902d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 29 09:43:10 2023 +0100

    adjust to ugly linting

commit e704e5adcc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 22 15:10:21 2023 +0100

    adjust to ugly linting

commit 1e40b814a1
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 22 15:00:42 2023 +0100

    Linting

commit 8585edc47a
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 22 14:52:10 2023 +0100

    Linting

commit 7d78fb8adc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 22 14:47:34 2023 +0100

    adjust to ugly linting

commit a64ce2feb1
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 22 14:20:30 2023 +0100

    removed resolved todos

commit 2e031a9763
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 22 13:44:45 2023 +0100

    WIP Generic IsValid for *Id structs

commit e69e5df089
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 22 13:42:07 2023 +0100

    Assume validated url.URL for NewActorID

commit 6e4467d49d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 22 11:48:24 2023 +0100

    experiment on generalization

commit 75cc5b900d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 22 10:19:01 2023 +0100

    Add review todo

commit 1dd3084f66
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 21 15:01:49 2023 +0100

    Split test according to actor.go

commit 48cfb521d1
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 21 14:22:42 2023 +0100

    Add suffix checking helper

commit c887bddb72
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 21 14:22:23 2023 +0100

    Attempt generalization of Id creation

commit 15775ad891
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 21 14:21:47 2023 +0100

    Fix import

commit 715afb2468
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 21 09:30:07 2023 +0100

    Add newlines for readability

commit fff4c3f9fc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 20 20:12:31 2023 +0100

    fix typo

commit 5317832fef
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 20 13:04:40 2023 +0100

    odd one mor picture to the blog

commit 433a38699a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 20 12:55:28 2023 +0100

    improve test description

commit 65e3f1d0ed
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 20 09:33:29 2023 +0100

    update adr lining out a second option

commit 4d1492831d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 20 12:30:22 2023 +0100

    Move char_limiter to utils and rename

commit afc9acd925
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 20 12:23:13 2023 +0100

    Limit number of characters on body log

commit 3363b3bf0c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 20 12:22:03 2023 +0100

    Validate response before further processing

commit 2f4b1a5cd4
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 20 12:20:41 2023 +0100

    Use id of existing repo for convenience

commit ff146a9430
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 20 11:27:44 2023 +0100

    Add review todos

commit 071b47b8d0
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 19 12:26:55 2023 +0100

    Catch edge case: remote user does not exist on remote repo

commit 0378b2dc7d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 19 10:55:30 2023 +0100

    Add questions for review discussion

commit 8a8b6821ba
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 19 11:32:57 2023 +0100

    Fix bash code block

commit 3327fbc39a
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 19 10:19:35 2023 +0100

    Fix typos, small rewordings

commit bd640a7099
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Dec 19 09:21:23 2023 +0100

    add some pros to the source field

commit 70fbfd6cf3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Dec 19 08:36:02 2023 +0100

    reflect the discussion with kik

commit f636de050a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 16 18:47:39 2023 +0100

    some improvements

commit bc7515fa31
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 16 18:45:14 2023 +0100

    some improvements

commit f9bbb91f11
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 16 18:38:31 2023 +0100

    expose instance for tests

commit 1704ac5bc2
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 15 16:02:50 2023 +0100

    fix most of the tests

commit 9e6c45f87d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 15 15:37:00 2023 +0100

    make flows more precise

commit e1d7db178c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 15 14:45:20 2023 +0100

    unify logging & minor improvements

commit 42854c9003
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 13 16:49:23 2023 +0100

    remove global actionUser

commit a0c008b880
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 13 16:44:11 2023 +0100

    cleand up user creation from ap

commit 6de8fba14d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 13 16:06:53 2023 +0100

    minor refactorings

commit 44e10ed65a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 13 16:06:37 2023 +0100

    get wo body

commit c2a42587d2
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Dec 12 11:08:57 2023 +0100

    remove panics - that is not a exception replacement

commit b27460d3fe
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Dec 12 11:04:03 2023 +0100

    minor refactorings & reviews

commit e893618cdc
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Dec 11 08:14:18 2023 +0100

    add more threats

commit 9633a2005a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 9 19:23:48 2023 +0100

    add a sql injection threat

commit bad8e04c3c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 9 19:11:38 2023 +0100

    cleanup & minor refactorings

commit 3172eb69d2
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 9 18:30:47 2023 +0100

    introduce RepositoryId

commit 1fe35e14a5
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 9 14:53:40 2023 +0100

    mv our actor code to forgefed

commit abdf56dde1
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 9 14:27:29 2023 +0100

    move forgefed to models

commit 0b2cf2a55b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Sat Dec 9 14:26:49 2023 +0100

    remov unused experiments

commit 184388015d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 20:51:54 2023 +0100

    added more tests

commit b5a467e94d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 20:37:26 2023 +0100

    remove unused & implement webfinger

commit 73a38ea0d1
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 19:52:09 2023 +0100

    use new factory function

commit e8371ca94c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 19:43:49 2023 +0100

    ActorId -> PersonId

commit 3151c8fe81
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 19:41:22 2023 +0100

    make validate more compact

commit be4d3544ae
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 18:33:26 2023 +0100

    Refactor ActorID -> ActorId

commit 7c86f13728
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 18:09:22 2023 +0100

    make route more compact

commit afcc7f0def
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 18:08:54 2023 +0100

    factory instead of parse & validate

commit 6fef54ed1c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 8 18:08:16 2023 +0100

    there is a validation module

commit a10a9141f8
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 8 15:44:00 2023 +0100

    Remove useless call to repo, add todos

commit 3c515c2614
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 8 11:54:07 2023 +0100

    Add review todos

commit 22d71e6b30
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 13:53:37 2023 +0100

    Update ToDo

commit afe659f9f4
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 13:54:07 2023 +0100

    Implement 5s waiting

commit 745598bba4
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 13:24:01 2023 +0100

    Implement starring

commit 976256bf3d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 13:21:26 2023 +0100

    Refactor if conditional to switch, use split up functions

commit 75ee273f40
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 13:18:33 2023 +0100

    Split user creation and saving user to db

commit 7f4667696f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 13:17:51 2023 +0100

    Cleanup imports

commit 6ad52a6d67
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 12:03:42 2023 +0100

    Update tests

commit 25d34e0c14
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 12:03:28 2023 +0100

    Check for empty path in IRI

commit f84e0b27e1
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 11:45:24 2023 +0100

    Use ValidateAndParseIRI, pass this to ParseActorID

commit fa1acd1ebb
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 11:44:59 2023 +0100

    Extract url string validation and parsing from ActorID parsing

commit 4d3ab4dda2
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 11:24:47 2023 +0100

    Update Validate()

commit 39d4c8dd2d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 11:24:27 2023 +0100

    Generalize validate_is_not_empty

commit 085db0c127
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 10:51:58 2023 +0100

    Remove todo

commit 54ef78034e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 10:51:03 2023 +0100

    Don't parse received repoID

commit e3defaa212
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 10:44:35 2023 +0100

    Split getPersonByRest function

    This leaves us with two easier to read functions, encapsulating
    two different functionalities.

commit bdddde8b68
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Dec 7 10:42:05 2023 +0100

    Fix erroneous param and deprecated --name

commit 28a290da10
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 6 18:32:26 2023 +0100

    reviewed current work

commit 02dc8901af
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 16:14:50 2023 +0100

    Fix tests

commit 68cd621053
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 16:14:39 2023 +0100

    Test for empty string

commit d27cac5bae
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:56:26 2023 +0100

    Move federated user creation to func

commit 01506f9836
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:50:38 2023 +0100

    Clearer description

commit 77b6402e77
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:37:58 2023 +0100

    Add missing error treatment

commit 946e5cf34c
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:37:14 2023 +0100

    Remove typo in func

commit c0f1681fa3
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:16:01 2023 +0100

    Allow parsing of repository-id too

commit 4f25e5057a
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:15:39 2023 +0100

    Make the source an argument to the parser

commit 2fb893843b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 15:13:53 2023 +0100

    Move getting person to own function

commit 6d143e74cf
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 13:36:26 2023 +0100

    More clear distinction between sender and receiver of star

commit 52e950a492
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 13:06:30 2023 +0100

    Check the path for empty strings

commit 65f7124c67
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 12:05:47 2023 +0100

    Use u.Hostname() instead of u.Host

    u.Host returns hostname:port.

commit 27c9db1027
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Dec 6 11:24:42 2023 +0100

    Better function descriptions

commit 9b5d8bbeda
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Dec 6 09:07:09 2023 +0100

    If we use user.loginname to store the actor.id we can search for local users earlier

commit ed1af14ceb
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 5 14:54:03 2023 +0100

    Panic on error, use correct function names

commit 9dcbe0177e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 5 14:53:10 2023 +0100

    Rename targe to remoteStargazer

commit de9e4dea61
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 5 14:52:33 2023 +0100

    Update todos, remove comments

commit 68cc74d139
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 5 14:50:46 2023 +0100

    Use actionsUser for creating http client

commit d65e5aa70e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 5 14:49:27 2023 +0100

    Move helper functions to top

commit 1c145d9d68
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Tue Dec 5 12:19:22 2023 +0100

    WIP: fit generateUUIDMail for testing purposes

commit 11e93784fe
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Tue Dec 5 11:46:11 2023 +0100

    WIP: log Info User created

commit a20f535211
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Tue Dec 5 11:38:36 2023 +0100

    WIP: pwdgen, username

commit 85e09a7ada
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Dec 5 10:37:51 2023 +0100

    WIP: Generate User if not exists

commit 94880d64f4
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Dec 5 09:26:03 2023 +0100

    higlight the need for id normalization

commit 231bdb65b8
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Dec 1 17:06:39 2023 +0100

    searching for the local person

commit edd7fb77fd
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 1 15:07:13 2023 +0100

    WIP create user if not exists

commit 159f3dc3aa
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Nov 30 17:41:08 2023 +0100

    describe the current state

commit 41e12d09ef
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Dec 1 11:56:12 2023 +0100

    WIP create User from person

commit c8456d57ff
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 30 16:10:26 2023 +0100

    Add thoughts on user creation

commit c61be31c72
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 30 16:04:26 2023 +0100

    Remove redundant person implementation

commit 22ba03ae4d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 30 16:01:20 2023 +0100

    Don't use redundant implementation of person

commit b00b5fa7af
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 30 16:00:39 2023 +0100

    Add some thoughts on repo testing

commit eab016e896
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Nov 29 09:21:54 2023 +0100

    add threat analyses

commit a8d5e7ba77
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 15:45:04 2023 +0100

    Fix typos and format

commit d43c4ba739
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 15:34:02 2023 +0100

    Use person generation

commit 9f016d3673
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 15:33:22 2023 +0100

    Move to extra var

commit 7071117864
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 15:32:15 2023 +0100

    Implement Person creation

commit fde8de4f90
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 13:26:35 2023 +0100

    Rename to ParseActorIDFromStarActivity

commit 2c4089ba1d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 13:24:59 2023 +0100

    Add star json with links to lokalhost

commit ede86df685
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 29 11:46:24 2023 +0100

    Remove todo

commit 7529b9da91
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 28 15:17:59 2023 +0100

    Note ToDos for setting up useful tests

commit e60d89cb67
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 28 15:17:34 2023 +0100

    Use correct target for get request

commit 0388240039
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 28 13:03:45 2023 +0100

    WIP Use non generated HTTP client

commit 4b490802d7
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 28 13:03:07 2023 +0100

    Test creation of client only

commit 61afc65377
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 28 10:55:53 2023 +0100

    Implement Get method on Client struct

commit 56d11bbff4
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 28 10:55:18 2023 +0100

    Don't hardcode method in NewRequest function

commit 8a53331283
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 14:01:32 2023 +0100

    Add ToDo

commit 93d79646de
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 13:56:53 2023 +0100

    Fix api url

commit 9568eab62a
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 13:23:03 2023 +0100

    Fix tests

commit 6284355e1e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 12:51:36 2023 +0100

    Remove redundant ValidateStar and err check, call coorect function

commit 43ac3ddca9
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 12:50:15 2023 +0100

    Remove star validation as it happens in actor validation now

commit 566b3bc459
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 12:49:36 2023 +0100

    Parse Actor from star activity, Update function declaration order

commit 3a938b6c3f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 12:48:14 2023 +0100

    Use and validate source in ActorID struct

commit 546ce50337
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 11:40:12 2023 +0100

    Use PanicIfInvalid in repository.go

commit 9566e9bc5d
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 11:38:01 2023 +0100

    Change tests to use IsValid method

commit fccf5c37ca
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 11:37:29 2023 +0100

    Add IsValid and PanicIfInvalid methods for ActorID

commit 8300d3fbde
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 24 09:55:47 2023 +0100

    Add ToDos from code review

commit 34c511ae98
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 17:04:58 2023 +0100

    Use data from actor, improve formatting

commit aee2ee2596
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 17:04:22 2023 +0100

    Also log error on person creation

commit 91baf2be32
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 17:03:24 2023 +0100

    Add get functions for userId and HostAndPort

commit 92c089a4e2
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 17:02:54 2023 +0100

    Add a test for getting host and port

commit 863b340622
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 17:02:36 2023 +0100

    Update dev notes with create repo curl cmd

commit 8657f70960
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 14:50:32 2023 +0100

    Add todo

commit 5efce01f6f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 23 14:17:35 2023 +0100

    Make test messages consistent

commit ad8adc880f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 22 16:40:28 2023 +0100

    Create easier to read tests for parser and validator

commit 62eae6564f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 22 16:40:03 2023 +0100

    Fix bug in validation

commit d205c50a43
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 22 16:08:14 2023 +0100

    Implement generic validation on ActorID

commit 7b5d13a625
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 22 15:27:44 2023 +0100

    Split check for schema and host

commit 3d2b5115ad
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 22 15:25:43 2023 +0100

    Implement and use Validatable interface

commit 235ed7cd1e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 22 13:28:13 2023 +0100

    Rename to actorID

commit 5e111f14ef
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 17:20:36 2023 +0100

    use the swagger-api

commit 109dbd7d75
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 17:20:22 2023 +0100

    swager generated api

commit 07bd30cf20
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 17:19:53 2023 +0100

    exosy has moved this package to service

commit 604f0a2477
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 17:19:08 2023 +0100

    swagger client generation

commit 9e74de829e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 13:38:20 2023 +0100

    swagger client generation

commit bc1ff23b23
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 10:49:01 2023 +0100

    swagger client generation

commit d81647b36e
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 10:37:47 2023 +0100

    wip: swagger client generation

commit a954c9764f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 10:10:28 2023 +0100

    wip: swagger client generation

commit fbff67f11a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 10:10:04 2023 +0100

    add some more todos

commit 5c998a5c46
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 17 08:22:27 2023 +0100

    add comment

commit 5729cee3e5
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 16:04:50 2023 +0100

    Move test to model/activitypub

commit 7193c0bd9b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 16:03:05 2023 +0100

    WIP test for parsing the actor

commit 0c367070af
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 15:06:41 2023 +0100

    Call validate star

commit b1f3706575
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 15:02:59 2023 +0100

    Introduce validation against source

commit 78fc75135f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 15:02:20 2023 +0100

    Rename to ActorData

commit 09058c13c5
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 14:53:54 2023 +0100

    Rename to actor

commit 91dcd59e68
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 14:50:01 2023 +0100

    Import parser from model and call validation

commit 273ca49e22
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 16 14:49:05 2023 +0100

    Validate on ActorData independently and move to model

commit e44321221e
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 15:07:23 2023 +0100

    WIP: Add test for parser

commit ad65976677
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 14:27:47 2023 +0100

    Reorder functions

commit d52bb4bf8f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 12:31:16 2023 +0100

    Remove newline from error string

commit b869d91dc1
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 12:29:17 2023 +0100

    Parse Actor URL

commit 7541251d63
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 12:28:26 2023 +0100

    Correct API urls

commit 9fa8d19cf4
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 12:10:31 2023 +0100

    Fix typo

commit d10c1094d9
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Nov 15 09:23:03 2023 +0100

    add some pseudocode

commit ab92891091
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 08:59:55 2023 +0100

    Use actor

commit b085ce37a6
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Wed Nov 15 08:53:02 2023 +0100

    Review

commit d7abff31f6
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 14 15:29:13 2023 +0100

    Add ToDos

commit d2b464582f
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 14 15:29:00 2023 +0100

    Add ToDo

commit e18e90f8df
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 14 15:28:38 2023 +0100

    Add fieldname and type

commit f48b4d1f55
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 14 15:27:32 2023 +0100

    Get Activity field from star

commit e8013250b8
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 14 14:56:16 2023 +0100

    Add question

commit 7790e98f47
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Tue Nov 14 14:53:47 2023 +0100

    Remove unused funcs and structs

commit 51cb9aded0
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Nov 15 09:08:17 2023 +0100

    generate ap-person client

commit 14c74f27cb
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 10 17:00:08 2023 +0100

    tests are now working

commit d28ea1a30b
Author: bom <mattis.boeckle@meissa-gmbh.de>
Date:   Fri Nov 10 16:43:44 2023 +0100

    Start implementing UnmarshalJSON for Star

commit 43014ca473
Author: bom <mattis.boeckle@meissa-gmbh.de>
Date:   Fri Nov 10 16:08:15 2023 +0100

    Implement MarshallJSON for Star activity

commit a1885a5767
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 10 15:13:26 2023 +0100

    star: test first

commit 1044e44ee5
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 10 14:51:33 2023 +0100

    we got a parsed actor

commit b08580280a
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 10 14:37:36 2023 +0100

    np in case of unauthenticated user

commit 6c1ec05458
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 10 14:37:00 2023 +0100

    extract the relevant app.ini parts

commit 460e2fb644
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 10 14:10:23 2023 +0100

    prepare next steps

commit 5b01517c12
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 10 14:26:13 2023 +0100

    Get data from form

commit e846e8225b
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Fri Nov 10 14:06:17 2023 +0100

    Update dev-notes

commit a1e9783cec
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Nov 9 21:59:51 2023 +0100

    expose star activity to swagger

commit d7dfdca8b9
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 9 15:38:55 2023 +0100

    WIP Add star to swagger

commit 17dfc7bdc1
Author: erik <erik.seiert@meissa-gmbh.de>
Date:   Thu Nov 9 14:24:19 2023 +0100

    Clearer wording, fix typos

commit 07cf963af3
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Thu Nov 9 21:54:17 2023 +0100

    expose star activity to swagger

commit dc1a82bf4c
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Wed Nov 8 08:56:22 2023 +0100

    use star as swagger model

commit 18f4c514ec
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Nov 7 18:01:52 2023 +0100

    add one more step to rebase procedure

commit 46fb4fec8f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Nov 7 09:30:32 2023 +0100

    add star activity & bind to swagger

commit ff5a4405fd
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Nov 6 18:29:48 2023 +0100

    introduce repo from exosy

commit 157effdd8f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Nov 6 18:29:24 2023 +0100

    adjust star activity example

commit a0efbf7d72
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Nov 6 09:27:41 2023 +0100

    improve git-setup-doc

commit 1f80e99857
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Nov 6 09:12:09 2023 +0100

    improve git-setup-doc

commit cde603dd0e
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Fri Nov 3 17:58:47 2023 +0100

    improve git sync procedure

commit 7195141805
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Nov 6 08:50:36 2023 +0100

    wip: lets define the post input more close

commit 6587b6d62b
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Nov 6 08:49:58 2023 +0100

    log who is doing the inbox post

commit 4e1e65e14f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 3 17:45:53 2023 +0100

    log repository under activity

commit fe6f625923
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 3 17:45:21 2023 +0100

    temp deactivate security

commit b7082b7e98
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Nov 3 17:05:48 2023 +0100

    improve rebase procedure

commit 87324d1553
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 20:14:52 2023 +0200

    ctx action should no be good enough

commit 0d5702e501
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 20:13:51 2023 +0200

    fill in some minimal information to an actor

commit 6ceb1d2040
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 20:13:24 2023 +0200

    add f3 dep

commit 0572725204
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 14:33:14 2023 +0200

    add some rought branch sync description

commit fe2a3d86d4
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 14:10:13 2023 +0200

    get repo now works somehow

commit da7a38b03d
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 13:24:05 2023 +0200

    enable federation

commit 64abf87fb0
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 12:12:31 2023 +0200

    added some logs

commit 3dbcf34a16
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 27 11:50:39 2023 +0200

    share dev notes

commit 511ab65df4
Author: Mirco <mirco.zachmann@meissa.de>
Date:   Tue Oct 24 10:34:53 2023 +0200

    Fix syntax error, unexpected new line

commit 154be0a637
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Tue Oct 24 09:10:31 2023 +0200

    wip: compile one step further

commit 317b7fac8f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Mon Oct 23 17:16:38 2023 +0200

    wip: load repo to ctx

commit 643681663f
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 20 16:27:55 2023 +0200

    add activity sequence

commit 68318f2632
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 20 16:12:37 2023 +0200

    considerations about star activity

commit d4f507a223
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 20 15:45:12 2023 +0200

    remove unused imports

commit a87cbda165
Author: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date:   Fri Oct 20 15:16:04 2023 +0200

    add repository actor
2024-06-06 08:58:11 +02:00
Earl Warren
caadd1815a
fix(oauth): HTML snippets in templates can be displayed
These changes were missed when cherry-picking the following

c9d0e63c202827756c637d9ca7bbde685c1984b7 Remove unnecessary "Str2html" modifier from templates (#29319)

Fixes: https://codeberg.org/forgejo/forgejo/issues/3623
2024-06-05 15:42:50 +02:00
Earl Warren
c2382d4f5b Merge pull request '[gitea] week 2024-23 cherry pick (gitea/main -> forgejo)' (#3989) from earl-warren/wcp/2024-23 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3989
Reviewed-by: Otto <otto@codeberg.org>
2024-06-04 07:40:35 +00:00
Earl Warren
bbdba70db6 Merge pull request 'fix(hook): repo admins are wrongly denied the right to force merge' (#3976) from earl-warren/forgejo:wip-admin-protection into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3976
Reviewed-by: Victoria <efertone@noreply.codeberg.org>
2024-06-02 19:48:44 +00:00
Earl Warren
09f3518069
fix(hook): repo admins are wrongly denied the right to force merge
The right to force merge is uses the wrong predicate and
applies to instance admins:

  ctx.user.IsAdmin

It must apply to repository admins and use the following predicate:

 ctx.userPerm.IsAdmin()

This regression is from the ApplyToAdmins implementation in
79b7089360.

Fixes: https://codeberg.org/forgejo/forgejo/issues/3780
2024-06-02 21:16:46 +02:00
Lunny Xiao
ba37b9e577
Add missed return after ctx.ServerError (#31130) (partial)
Only routers/api/v1/repo/mirror.go

(cherry picked from commit b6f15c7948ac3d09977350de83ec91d5789ea083)
2024-06-02 16:31:41 +02:00
Lunny Xiao
47a2102694
Performance improvements for pull request list API (#30490)
Fix #30483

---------

Co-authored-by: yp05327 <576951401@qq.com>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 352a2cae247afa254241f113c5c22b9351f116b9)
2024-06-02 16:26:54 +02:00
Jason Song
3e5f85ccf3
Drop IDOrderDesc for listing Actions task and always order by id DESC (#31150)
Close #31066

Just follow what `FindRunOptions` and `FindScheduleOptions` do.

(cherry picked from commit 572fa55fbcc2cb9418b4f7b981a7c80a11899276)
2024-06-02 16:26:54 +02:00
Lunny Xiao
344bf48c9b
Add missed return after ctx.ServerError (#31130)
(cherry picked from commit b6f15c7948ac3d09977350de83ec91d5789ea083)
2024-06-02 16:26:54 +02:00
metiftikci
ca0921a95a
Prevent simultaneous editing of comments and issues (#31053)
fixes #22907

Tested:
- [x] issue content edit
- [x] issue content change tasklist
- [x] pull request content edit
- [x] pull request change tasklist

![issue-content-edit](https://github.com/go-gitea/gitea/assets/29250154/a0828889-fb96-4bc4-8600-da92e3205812)

(cherry picked from commit aa92b13164e84c26be91153b6022220ce0a27720)

Conflicts:
	models/issues/comment.go
	 c7a389f2b2 [FEAT] allow setting the update date on issues and comments

	options/locale/locale_en-US.ini
	 trivial context conflicts

	routers/api/v1/repo/issue_comment.go
	routers/api/v1/repo/issue_comment_attachment.go
	services/issue/comments.go
	services/issue/content.go
         user blocking is implemented differently in Forgejo

	routers/web/repo/issue.go
	 trivial difference from 6a0750177f Allow to save empty comment
         user blocking is implemented differently in Forgejo

	templates/repo/issue/view_content/conversation.tmpl
	 templates changed a lot in Forgejo but the change is
	 trivially ported

	tests/integration/issue_test.go
	 other tests were added in the same region

	web_src/js/features/repo-issue-edit.js
	 the code is still web_src/js/features/repo-legacy.js
	 trivially ported
2024-06-02 16:26:54 +02:00
Lunny Xiao
a7591f9738
Rename project board -> column to make the UI less confusing (#30170)
This PR split the `Board` into two parts. One is the struct has been
renamed to `Column` and the second we have a `Template Type`.

But to make it easier to review, this PR will not change the database
schemas, they are just renames. The database schema changes could be in
future PRs.

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: yp05327 <576951401@qq.com>
(cherry picked from commit 98751108b11dc748cc99230ca0fc1acfdf2c8929)

Conflicts:
	docs/content/administration/config-cheat-sheet.en-us.md
	docs/content/index.en-us.md
	docs/content/installation/comparison.en-us.md
	docs/content/usage/permissions.en-us.md
	non existent files

	options/locale/locale_en-US.ini
	routers/web/web.go
	templates/repo/header.tmpl
	templates/repo/settings/options.tmpl
	trivial context conflicts
2024-06-02 09:42:39 +02:00
Lunny Xiao
9e495f700e
Fix possible ui 500 if workflow's job is nil (#31092)
Fix #31087

(cherry picked from commit e695ba47557ed4c3999c63b28051a449ca4653de)
2024-06-02 09:04:43 +02:00
Earl Warren
05f0007437
fix(hook): instance admins wrongly restricted by permissions checks
This exception existed for both instance admins and repo admins
before ApplyToAdmins was introduced in
79b7089360.

It should have been kept for instance admins only because they are not
subject to permission checks.
2024-06-01 23:50:57 +02:00
Earl Warren
f887972348 Merge pull request 'forgejo-federated-star: UI to define following repos' (#3886) from meissa/forgejo:forgejo-federated-pr5 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3886
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-31 15:57:17 +00:00
Earl Warren
a1ef8eaf29 Merge pull request 'Disable self-registration by default on the install page' (#3934) from algernon/forgejo:abandon-all-registration-all-ye-who-enter-here into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3934
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-05-31 11:49:20 +00:00
Michael Jerger
2f7f1aab8a fix review 2024-05-29 18:31:06 +02:00
Michael Jerger
5620dd76fa Merge branch 'forgejo' into forgejo-federated-pr5 2024-05-29 18:26:16 +02:00
Gergely Nagy
9fc61cae48
install: Force DisableRegistration on during install
When installing Forgejo via the on-line installer, force
DisableRegistration to true, to discourage creating instances with open
registration. Because open registration requires constant vigil to fight
off spammers of all kinds, it is not a great default. It should be a
conscious decision. This change is made in an effort to make the choice
of running an instance with open registration a conscious choice, rather
than simply the default.

Partially addresses #3925.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-28 08:57:30 +02:00
Denys Konovalov
07fe5a8b13
use existing oauth grant for public client (#31015)
Do not try to create a new authorization grant when one exists already,
thus preventing a DB-related authorization issue.

Fix https://github.com/go-gitea/gitea/pull/30790#issuecomment-2118812426

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
(cherry picked from commit 9c8c9ff6d10b35de8d2d7eae0fc2646ad9bbe94a)
2024-05-26 19:02:48 +02:00
wxiaoguang
5612cf32e5
Refactor sha1 and time-limited code (#31023)
Remove "EncodeSha1", it shouldn't be used as a general purpose hasher
(just like we have removed "EncodeMD5" in #28622)

Rewrite the "time-limited code" related code and write better tests, the
old code doesn't seem quite right.

(cherry picked from commit fb1ad920b769799aa1287441289d15477d9878c5)

Conflicts:
	modules/git/utils_test.go
	trivial context conflict because sha256 testing in Forgejo has diverged
2024-05-26 18:43:30 +02:00
Zettat123
886a675f62
Return access_denied error when an OAuth2 request is denied (#30974)
According to [RFC
6749](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1),
when the resource owner or authorization server denied an request, an
`access_denied` error should be returned. But currently in this case
Gitea does not return any error.

For example, if the user clicks "Cancel" here, an `access_denied` error
should be returned.

<img width="360px"
src="https://github.com/go-gitea/gitea/assets/15528715/be31c09b-4c0a-4701-b7a4-f54b8fe3a6c5"
/>

(cherry picked from commit f1d9f18d96050d89a4085c961f572f07b1e653d1)
2024-05-26 18:37:20 +02:00
wxiaoguang
a649610d61
Fix "force private" logic (#31012)
When creating a repo, the "FORCE_PRIVATE" config option should be
respected, `readonly` doesn't work for checkbox, so it should use
`disabled` attribute.

(cherry picked from commit edbf74c418061b013a5855f604dd6be6baf34132)

Conflicts:
	templates/repo/create.tmpl
	templates/repo/migrate/codebase.tmpl
	templates/repo/migrate/git.tmpl
	templates/repo/migrate/gitbucket.tmpl
	templates/repo/migrate/gitea.tmpl
	templates/repo/migrate/github.tmpl
	templates/repo/migrate/gitlab.tmpl
	templates/repo/migrate/gogs.tmpl
	templates/repo/migrate/onedev.tmpl
	already in forgejo fc0c5e80da Fix and improve repo visibility checkbox when FORCE_PRIVATE is on (#3786)
        enforcing FORCE_PRIVATE on repo settings was manually tested
	with a repository of an unprivileged user after setting
	FORCE_PRIVATE = true
2024-05-26 18:20:33 +02:00
Earl Warren
a05eb66c99
tests(web): verify compressed files are not re-compressed
the test file used has a size below the default threshold and will
never be compressed because of that, regardless of its extension. Reduce
the threshold to 10 bytes otherwise the test is a false positive.
2024-05-25 23:54:28 +02:00
Michael Jerger
82cb9e0203 ui for adding following repos 2024-05-24 13:28:15 +02:00
Earl Warren
d8e21e673d Merge pull request 'Creation of federated user' (#3792) from meissa/forgejo:forgejo-federated-pr3 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3792
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-22 11:11:42 +00:00
Michael Jerger
735d9629cf add more integration testcases 2024-05-21 18:49:31 +02:00
Earl Warren
74e07656d2 Merge pull request '[gitea] week 2024-21 cherry pick (gitea/main -> forgejo)' (#3838) from algernon/wcp/2024-21 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3838
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-21 08:05:01 +00:00
Shiny Nematoda
ec4f5495ba feat: wiki search using git-grep
+ add release note
2024-05-20 13:48:50 +00:00
Gergely Nagy
d6915f4d5f
badges: Relax the default workflow badge conditions
Previously, if no branch was explicitly specified for a workflow, it
defaulted to the default branch of the repo. This worked fine for
workflows that were triggered on push, but it prevented showing badges
for workflows that only run on tags, or on schedule - since they do not
run on a specific branch.

Thus, relax the conditions, and if no branch is specified, just return
the latest run of the given workflow. If one is specified, *then*
restrict it to said branch.

Fixes #3487.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-20 11:20:11 +02:00
Haoyuan (Bill) Xing
6cb8c81de1 Add minimal implementation for RubyGems compact index API. (#3811)
Current package registry for RubyGems does not work with Bundler, because it implements neither the [compact index](https://guides.rubygems.org/rubygems-org-compact-index-api/) or the [dependency API](https://guides.rubygems.org/rubygems-org-api/). As a result, bundler complains about finding non-existing dependencies when installing anything with dependency: `revealed dependencies not in the API or the lockfile`.

This patch provides a minimal implementation for the compact index API to solve this issue. Specifically, we implemented a version that does not cache the results / do incremental updates; which is consistent with the current implementation.

Testing:
  * Modified existing integration tests.
  * Manually Verified bundler is able to parse the served versions / info file.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3811
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Haoyuan (Bill) Xing <me@hoppinglife.com>
Co-committed-by: Haoyuan (Bill) Xing <me@hoppinglife.com>
2024-05-19 23:30:41 +00:00
wxiaoguang
193ac67176
Always load or generate oauth2 jwt secret (#30942)
Fix #30923

(cherry picked from commit effb405cae88474c27f5c8322a2627019af1cf64)
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>

Conflicts:
	- modules/setting/oauth2.go
	  Conflicted due to different ways of logging. Since the log
	  message is removed anyway, resolved by removing it.
	- modules/setting/oauth2_test.go
	  Manually copied the test added by Gitea.
	- routers/install/install.go
	  Not a conflict per se, but adjusted to use NewJwtSecret().
2024-05-19 15:47:39 +02:00
Lunny Xiao
1be797faba
Fix bug on avatar (#31008)
Co-authored-by: silverwind <me@silverwind.io>
(cherry picked from commit 58a03e9fadb345de5653345c2a68ecfd0750940a)
2024-05-19 13:57:52 +02:00
wxiaoguang
50b4e7f26e
Simplify mirror repository API logic (#30963)
Fix #30921

(cherry picked from commit 821d2fc2a3cc897f21d707455850177077b72410)
2024-05-19 13:57:52 +02:00
KN4CK3R
597dcd864a
Protected tag is no internal server error (#30962)
Fixes #30959

Adds an API test for protected tags.
Fix existing tag in combination with fixtures.

(cherry picked from commit b1d8f13bd0ecd9c576ebf2ecbd9c7dbeb3f5254f)
2024-05-19 13:12:35 +02:00
Zettat123
8e1de85980
Support using label names when changing issue labels (#30943)
Resolve #30917

Make the APIs for adding labels and replacing labels support both label
IDs and label names so the
[`actions/labeler`](https://github.com/actions/labeler) action can work
in Gitea.

<img width="600px"
src="https://github.com/go-gitea/gitea/assets/15528715/7835c771-f637-4c57-9ce5-e4fbf56fa0d3"
/>

(cherry picked from commit b3beaed147466739de0c24fd80206b5af8b71617)

Conflicts:
	- modules/structs/issue_label.go
	  Resolved by applying the Gitea change by hand.
	- tests/integration/api_issue_label_test.go
	  Resolved by copying the new tests.
2024-05-19 13:12:35 +02:00
oliverpool
5e73c67d67 fix: hook post-receive for sha256 repos 2024-05-15 16:43:16 +02:00
Shiny Nematoda
b6ca8abcfd [FEAT] support searching non default branches/tags when using git-grep (#3654)
resolves https://codeberg.org/forgejo/forgejo/pulls/3639#issuecomment-1806676 and https://codeberg.org/forgejo/forgejo/pulls/3513#issuecomment-1794990

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3654
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
2024-05-14 15:41:03 +00:00
Lunny Xiao
eb792d9f8a
Move database operations of merging a pull request to post receive hook and add a transaction (#30805)
Merging PR may fail because of various problems. The pull request may
have a dirty state because there is no transaction when merging a pull
request. ref
https://github.com/go-gitea/gitea/pull/25741#issuecomment-2074126393

This PR moves all database update operations to post-receive handler for
merging a pull request and having a database transaction. That means if
database operations fail, then the git merging will fail, the git client
will get a fail result.

There are already many tests for pull request merging, so we don't need
to add a new one.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit ebf0c969403d91ed80745ff5bd7dfbdb08174fc7)

Conflicts:
	modules/private/hook.go
	routers/private/hook_post_receive.go
	trivial conflicts because
	  263a716cb5 * Performance optimization for git push (#30104)
	was not cherry-picked and because of
	  998a431747 Do not update PRs based on events that happened before they existed
2024-05-12 20:03:10 +02:00
Lunny Xiao
1f56a49f28
Move reverproxyauth before session so the header will not be ignored even if user has login (#27821)
When a user logout and then login another user, the reverseproxy auth
should be checked before session otherwise the old user is still login.

(cherry picked from commit 26ae5922348d2dbaf2161bbd6ac79b2aa455e5f0)
2024-05-12 20:03:10 +02:00
Jason Song
38ea77ebbe
Remove deprecated stuff for runners (#30930)
It's time (maybe somewhat late) to remove some deprecated stuff for the
runner.

- `x-runner-version`: runners needn't to report version in every
request, they will call `Declare`.
- `AgentLabels`: runners will report them as `Labels`.

(cherry picked from commit b9396a9b852e4fea0e2c39ef3ef2fdfbc9ea248a)

Conflicts:
	routers/api/actions/runner/interceptor.go
	trivial conflict because
	  e80466f734 Resolve lint for unused parameter and unnecessary type arguments (#30750)
	was not cherry-picked
2024-05-12 20:03:10 +02:00
yp05327
6c9b8401f9
Fix misspelling of mergable (#30896)
https://github.com/go-gitea/gitea/pull/25812#issuecomment-2099833692
Follow #30573

(cherry picked from commit f7d2f695a4c57b245830a526e77fa62e99e00254)

Conflicts:
	services/pull/check.go
	trivial conflict because
	  9b2536b78fdcd3cf444a2f54857d9871e153858f Update misspell to 0.5.1 and add `misspellings.csv` (#30573)
	was not cherry-picked
2024-05-12 20:03:10 +02:00
Lunny Xiao
7d3ca90dfe
Fix various problems around projects board view (#30696)
The previous implementation will start multiple POST requests from the
frontend when moving a column and another bug is moving the default
column will never be remembered in fact.

- [x] This PR will allow the default column to move to a non-first
position
- [x] And it also uses one request instead of multiple requests when
moving the columns
- [x] Use a star instead of a pin as the icon for setting the default
column action
- [x] Inserted new column will be append to the end
- [x] Fix #30701 the newly added issue will be append to the end of the
default column
- [x] Fix when deleting a column, all issues in it will be displayed
from UI but database records exist.
- [x] Add a limitation for columns in a project to 20. So the sorting
will not be overflow because it's int8.

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit a303c973e0264dab45a787c4afa200e183e0d953)

Conflicts:
	routers/web/web.go
	e91733468ef726fc9365aa4820cdd5f2ddfdaa23 Add missing database transaction for new issue (#29490) was not cherry-picked
	services/issue/issue.go
	fe6792dff3 Enable/disable owner and repo projects independently (#28805) was not cherry-picked
2024-05-12 20:03:10 +02:00
Lunny Xiao
9bc391250d
Fix wrong transfer hint (#30889)
Fix #30187

(cherry picked from commit f5f921c09555f5b31226fc31bbbb463649d0bfdc)
2024-05-12 20:03:10 +02:00
Gergely Nagy
9cb2aa989a
Teach activities.GetFeeds() how to avoid returning duplicates
Before explaining the fix itself, lets look at the `action` table, and
how it is populated. Data is only ever inserted into it via
`activities_model.NotifyWatchers`, which will:

- Insert a row for each activity with `UserID` set to the acting user's
  ID - this is the original activity, and is always inserted if anything
  is to be inserted at all.
- It will insert a copy of each activity with the `UserID` set to the
  repo's owner, if the owner is an Organization, and isn't the acting
  user.
- It will insert a copy of each activity for every watcher of the repo,
  as long as the watcher in question has read permission to the repo
  unit the activity is about.

This means that if a repository belongs to an organizations, for most
activities, it will have at least two rows in the table. For
repositories watched by people other than their owner, an additional row
for each watcher.

These are useful duplicates, because they record which activities are
relevant for a particular user. However, for cases where we wish to see
the activities that happen around a repository, without limiting the
results to a particular user, we're *not* interested in the duplicates
stored for the watchers and the org. We only need the originals.

And this is what this change does: it introduces an additional option to
`GetFeedsOptions`: `OnlyPerformedByActor`. When this option is set,
`activities.GetFeeds()` will only return the original activities, where
the user id and the acting user id are the same. As these are *always*
inserted, we're not missing out on any activities. We're just getting
rid of the duplicates. As this is an additional `AND` condition, it can
never introduce items that would not have been included in the result
set before, it can only reduce, not extend.

These duplicates were only affecting call sites where `RequestedRepo`
was set, but `RequestedUser` and `RequestedTeam` were not. Both of those
call sites were updated to set `OnlyPerformedByActor`. As a result,
repository RSS feeds, and the `/repos/{owner}/{repo}/activities/feeds`
API end points no longer return dupes, only the original activities.

Rather than hardcoding this behaviour into `GetFeeds()` itself, I chose
to implement it as an explicit option, for the sake of clarity.

Fixes Codeberg/Community#684, and addresses gitea#20986.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-09 18:33:33 +02:00
Yaroslav Halchenko
2b2fd2728c Add codespell support and fix a good number of typos with its help (#3270)
More about codespell: https://github.com/codespell-project/codespell .

I personally introduced it to dozens if not hundreds of projects already and so far only positive feedback.

```
❯ grep lint-spell Makefile
	@echo " - lint-spell                       lint spelling"
	@echo " - lint-spell-fix                   lint spelling and fix issues"
lint: lint-frontend lint-backend lint-spell
lint-fix: lint-frontend-fix lint-backend-fix lint-spell-fix
.PHONY: lint-spell
lint-spell: lint-codespell
.PHONY: lint-spell-fix
lint-spell-fix: lint-codespell-fix
❯ git grep lint- -- .forgejo/
.forgejo/workflows/testing.yml:      - run: make --always-make -j$(nproc) lint-backend checks-backend # ensure the "go-licenses" make target runs
.forgejo/workflows/testing.yml:      - run: make lint-frontend
```
so how would you like me to invoke `lint-codespell` on CI? (without that would be IMHO very suboptimal and let typos sneak in)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3270
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Yaroslav Halchenko <debian@onerussian.com>
Co-committed-by: Yaroslav Halchenko <debian@onerussian.com>
2024-05-09 13:49:37 +00:00
Earl Warren
a2c8fe0370 Merge pull request '[gitea] week 2024-19 cherry pick (gitea-github/main -> forgejo)' (#3639) from earl-warren/wcp/2024-19 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3639
Reviewed-by: Gergely Nagy <algernon@noreply.codeberg.org>
2024-05-07 22:47:53 +00:00
Michael Jerger
2177d38e9c feat(federation): validate like activities (#3494)
First step on the way to #1680

The PR will

* accept like request on the api
* validate activity in a first level

You can find

* architecture at: https://codeberg.org/meissa/forgejo/src/branch/forgejo-federated-star/docs/unsure-where-to-put/federation-architecture.md

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3494
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Michael Jerger <michael.jerger@meissa-gmbh.de>
Co-committed-by: Michael Jerger <michael.jerger@meissa-gmbh.de>
2024-05-07 07:59:49 +00:00
Kemal Zebari
e388822e9d
Don't only list code-enabled repositories when using repository API (#30817)
We should be listing all repositories by default.

Fixes #28483.

(cherry picked from commit 9f0ef3621a3b63ccbe93f302a446b67dc54ad725)

Conflict:
   -		if ctx.IsSigned && ctx.Doer.IsAdmin || permission.UnitAccessMode(unit_model.TypeCode) >= perm.AccessModeRead {
   +		if ctx.IsSigned && ctx.Doer.IsAdmin || permission.HasAccess() {
   because of https://codeberg.org/forgejo/forgejo/pulls/2001
2024-05-05 12:15:40 +01:00
yp05327
6a4bc0289d
Fix no edit history after editing issue's title and content (#30814)
Fix #30807

reuse functions in services

(cherry picked from commit a50026e2f30897904704895362da0fb12c7e5b26)

Conflicts:
	models/issues/issue_update.go
	routers/api/v1/repo/issue.go
	trivial context conflict because of 'allow setting the update date on issues and comments'
2024-05-05 12:15:40 +01:00
wxiaoguang
d93d62371c
Ignore useless error message "broken pipe" (#30801)
Fix #30792

(cherry picked from commit 53b55223d167c3fc996dd0278a656f421408ace7)
2024-05-05 12:15:40 +01:00
Bo-Yi Wu
b29190c4f0
refactor: merge ListActionTasks func to action.go file (#30811)
Just merge actions.go file to action.go

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
(cherry picked from commit e67fbe4f15cdc544f6bec975de6560556724f098)
2024-05-05 12:15:40 +01:00
Archer
1b088fade6
Prevent automatic OAuth grants for public clients (#30790)
This commit forces the resource owner (user) to always approve OAuth 2.0
authorization requests if the client is public (e.g. native
applications).

As detailed in [RFC 6749 Section 10.2](https://www.rfc-editor.org/rfc/rfc6749.html#section-10.2),

> The authorization server SHOULD NOT process repeated authorization
requests automatically (without active resource owner interaction)
without authenticating the client or relying on other measures to ensure
that the repeated request comes from the original client and not an
impersonator.

With the implementation prior to this patch, attackers with access to
the redirect URI (e.g., the loopback interface for
`git-credential-oauth`) can get access to the user account without any
user interaction if they can redirect the user to the
`/login/oauth/authorize` endpoint somehow (e.g., with `xdg-open` on
Linux).

Fixes #25061.

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit 5c542ca94caa3587329167cfe9e949357ca15cf1)
2024-05-05 12:15:40 +01:00
Kemal Zebari
9cd0441cd3
Catch and handle unallowed file type errors in issue attachment API (#30791)
Before, we would just throw 500 if a user passes an attachment that is
not an allowed type. This commit catches this error and throws a 422
instead since this should be considered a validation error.

(cherry picked from commit 872caa17c0a30d95f85ab75c068d606e07bd10b3)

Conflicts:
	tests/integration/api_comment_attachment_test.go
	tests/integration/api_issue_attachment_test.go
	trivial context conflict because of 'allow setting the update date on issues and comments'
2024-05-05 12:15:40 +01:00
Chester
1a40fe54a6
Add API endpoints for getting action jobs status (#26673)
Sample of response, it is similar to Github actions

ref
https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#list-workflow-runs-for-a-repository

``` json
{
    "workflow_runs": [
        {
            "id": 3,
            "name": "Explore-Gitea-Actions",
            "head_branch": "main",
            "head_sha": "6d8d29a9f7a01ded8f8aeb64341cb31ee1ab5f19",
            "run_number": 3,
            "event": "push",
            "display_title": "More job",
            "status": "success",
            "workflow_id": "demo2.yaml",
            "url": "/chester/test/actions/runs/3",
            "created_at": "2023-08-22T13:41:33-04:00",
            "updated_at": "2023-08-22T13:41:37-04:00",
            "run_started_at": "2023-08-22T13:41:33-04:00"
        },
        {
            "id": 2,
            "name": "Explore-Gitea-Actions",
            "head_branch": "main",
            "head_sha": "6d8d29a9f7a01ded8f8aeb64341cb31ee1ab5f19",
            "run_number": 2,
            "event": "push",
            "display_title": "More job",
            "status": "success",
            "workflow_id": "demo.yaml",
            "url": "/chester/test/actions/runs/2",
            "created_at": "2023-08-22T13:41:30-04:00",
            "updated_at": "2023-08-22T13:41:33-04:00",
            "run_started_at": "2023-08-22T13:41:30-04:00"
        },
        {
            "id": 1,
            "name": "Explore-Gitea-Actions",
            "head_branch": "main",
            "head_sha": "e5369ab054cae79899ba36e45ee82811a6e0acd5",
            "run_number": 1,
            "event": "push",
            "display_title": "Add job",
            "status": "failure",
            "workflow_id": "demo.yaml",
            "url": "/chester/test/actions/runs/1",
            "created_at": "2023-08-22T13:15:21-04:00",
            "updated_at": "2023-08-22T13:18:10-04:00",
            "run_started_at": "2023-08-22T13:15:21-04:00"
        }
    ],
    "total_count": 3
}
```

---------

Co-authored-by: yp05327 <576951401@qq.com>
Co-authored-by: puni9869 <80308335+puni9869@users.noreply.github.com>
(cherry picked from commit 6709e28da78a0ea7e63f9fe4e32f620abdc88d14)

Conflicts:
	routers/api/v1/swagger/repo.go
	trivial context conflict
2024-05-05 12:15:40 +01:00
silverwind
9792a377e4
Fix tautological conditions (#30735)
As discovered by https://github.com/go-gitea/gitea/pull/30729.

---------

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 610802df85933e7a190a705bc3f7800da87ce868)

Conflicts:
	tests/integration/git_test.go
	trivial conflict because of https://codeberg.org/forgejo/forgejo/pulls/2834
2024-05-05 08:59:40 +01:00
Chongyi Zheng
c504461b66
Resolve lint for unused parameter and unnecessary type arguments (#30750)
Resolve all cases for `unused parameter` and `unnecessary type
arguments`

Related: #30729

---------

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit e80466f7349164ce4cf3c07bdac30d736d20f035)

Conflicts:
	modules/markup/markdown/transform_codespan.go
	modules/setting/incoming_email.go
	routers/api/v1/admin/user_badge.go
	routers/private/hook_pre_receive.go
	tests/integration/repo_search_test.go
	resolved by discarding the change, this is linting only and
	for the sake of avoiding future conflicts
2024-05-05 08:38:16 +01:00
Micash
b8e7b3941a
Add support for npm bundleDependencies (#30751)
(cherry picked from commit ad4e902d5a1430c0c1df18bf404537df5ded1dba)
2024-05-05 08:24:01 +01:00
Earl Warren
c9624d4cdb Merge pull request 'Add an immutable tarball link to archive download headers for Nix' (#3615) from jadeprime/forgejo:jade/nix-tarball-link into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3615
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-04 07:01:02 +00:00
Jade Lovelace
6631f56ebf Add an immutable tarball link to archive download headers for Nix
This allows `nix flake metadata` and nix in general to lock a *branch*
tarball link in a manner that causes it to fetch the correct commit even
if the branch is updated with a newer version.

For further context, Nix flakes are a feature that, among other things,
allows for "inputs" that are "github:someuser/somerepo",
"https://some-tarball-service/some-tarball.tar.gz",
"sourcehut:~meow/nya" or similar. This feature allows our users to fetch
tarballs of git-based inputs to their builds rather than using git to
fetch them, saving significant download time.

There is presently no gitea or forgejo specific fetcher in Nix, and we
don't particularly wish to have one. Ideally (as a developer on a Nix
implementation myself) we could just use the generic tarball fetcher and
not add specific forgejo support, but to do so, we need additional
metadata to know which commit a given *branch* tarball represents, which
is the purpose of the Link header added here.

The result of this patch is that a Nix user can specify `inputs.something.url =
"https://forgejo-host/some/project/archive/main.tar.gz"` in flake.nix
and get a link to some concrete tarball for the actual commit in the
lock file, then when they run `nix flake update` in the future, they
will get the latest commit in that branch.

Example of it working locally:

 » nix flake metadata --refresh 'http://localhost:3000/api/v1/repos/jade/cats/archive/main.tar.gz?dir=configs/nix'
Resolved URL:  http://localhost:3000/api/v1/repos/jade/cats/archive/main.tar.gz?dir=configs/nix
Locked URL:    804ede182b.tar.gz?dir=configs
/nix&narHash=sha256-yP7KkDVfuixZzs0fsqhSETXFC0y8m6nmPLw2GrAMxKQ%3D
Description:   Computers with the nixos
Path:          /nix/store/s856c6yqghyan4v0zy6jj19ksv0q22nx-source
Revision:      804ede182b6b66469b23ea4d21eece52766b7a06
Last modified: 2024-05-02 00:48:32

For details on the header value, see:
56763ff918/doc/manual/src/protocols/tarball-fetcher.md
2024-05-03 15:21:45 -07:00
JakobDev
d50efa626a Show repo count in blocked users tab (#3601)
Fixes #3595

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3601
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: JakobDev <jakobdev@gmx.de>
Co-committed-by: JakobDev <jakobdev@gmx.de>
2024-05-02 15:51:27 +00:00
Earl Warren
9bc866124b Merge pull request 'Use PostFormValue instead of PostForm.Get' (#3563) from algernon/forgejo:s/Req.PostForm.Get/Req.PostFormValue/g into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3563
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-02 15:48:28 +00:00
Gergely Nagy
b08aef967e
Use PostFormValue instead of PostForm.Get
In `repo.RemoveDependency`, use `PostFormValue` instead of
`PostForm.Get`. The latter requires `ParseForm()` to be called prior,
and in this case, has no benefit over `PostFormValue` anyway (which
calls `ParseForm()` if necessary).

While this currently does not cause any issue as far as I can tell, it
feels like a bug lying in wait for the perfect opportunity. Lets squash
it before it can do harm.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-02 10:51:07 +02:00
Gergely Nagy
632a274b8f
Fix Issue watching / unwatching on the web ui
When subscribing or unsubscribing to/from an issue on the web ui, the
request was posted to a route handled by `repo.IssueWatch`. This
function used `ctx.Req.PostForm.Get()`, erroneously.

`request.PostForm` is *only* available if `request.ParseForm()` has been
called before it. The function in question did not do that. Under some
circumstances, something, somewhere did end up calling `ParseForm()`,
but not in every scenario.

Since we do not need to check for multiple values, the easiest fix here
is to use `ctx.Req.PostFormValue`, which will call `ParseForm()` if
necessary.

Fixes #3516.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-01 11:04:54 +02:00
Earl Warren
79ffb2de47 Merge pull request '[gitea] week 2024-18 cherry pick (gitea-github/main -> forgejo)' (#3513) from earl-warren/wcp/2024-18 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3513
Reviewed-by: jean-daricade <jean-daricade@noreply.codeberg.org>
2024-04-30 06:42:26 +00:00
oliverpool
e1d93950ad feat: implement PKCE when acting as oauth2 client (for user login)
Closes #2766
2024-04-29 11:20:26 +02:00
Beowulf
c54896ba70 Show repo activities even if only code unit active or git repo is empty but issue is active (#3455)
When all repository units are deactivated except for the code unit, the activity tab will not be shown.
Since the activities tab also shows contributing stats, it would be good to show the activities tab also when only code is active.
This commit changes the behavior when the activities tab is shown.
Previous it would only be shown when Issues, Pull-Requests or Releases are activated. Now it would additionally be shown when the code unit is activated.

Refs: #3429

| Before (Code + Issues - Owner) | Before (Code - Viewer) | After (Code + Issues - Owner) | After (Code - Viewer) |
| -- | -- | -- | -- |
| ![image](/attachments/2af997bc-1f38-48c6-bdf3-cfbd7087b220)  | ![image](/attachments/ef1797f0-5c9a-4a1a-ba82-749f3ab4f403) | ![image](/attachments/fd28a96c-04ca-407e-a70d-d28b393f223d) | ![image](/attachments/2cd0d559-a6de-4ca0-a736-29c5fea81b5a) |
|  | `/activity` returns 404 for everyone | ![image](/attachments/e0e97d8f-48cb-4c16-a505-1fafa46c4b8e)  | - |

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3455
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Beowulf <beowulf@beocode.eu>
Co-committed-by: Beowulf <beowulf@beocode.eu>
2024-04-28 13:47:52 +00:00
Chongyi Zheng
ec6d46bc8f
Fix nil dereference on error (#30740)
In both cases, the `err` is nil because of `if` checks before

Reference: #30729
(cherry picked from commit 970965f6d8fb4e68613ca445d2414c6c796b5231)
2024-04-28 15:39:02 +02:00
Kemal Zebari
4ed372af13
Prevent allow/reject reviews on merged/closed PRs (#30686)
Resolves #30675.

(cherry picked from commit dd301cae1c40c9ef2805bd13af6b09a81ff4f5d7)

Conflicts:
	tests/integration/pull_review_test.go
	trivial context conflict in import
2024-04-28 15:39:01 +02:00
Bo-Yi Wu
7b456a28d1
feat(api): enhance Actions Secrets Management API for repository (#30656)
- Add endpoint to list repository action secrets in API routes
- Implement `ListActionsSecrets` function to retrieve action secrets
from the database
- Update Swagger documentation to include the new
`/repos/{owner}/{repo}/actions/secrets` endpoint
- Add `actions` package import and define new routes for actions,
secrets, variables, and runners in `api.go`.
- Refactor action-related API functions into `Action` struct methods in
`org/action.go` and `repo/action.go`.
- Remove `actionAPI` struct and related functions, replacing them with
`NewAction()` calls.
- Rename `variables.go` to `action.go` in `org` directory.
- Delete `runners.go` and `secrets.go` in both `org` and `repo`
directories, consolidating their content into `action.go`.
- Update copyright year and add new imports in `org/action.go`.
- Implement `API` interface in `services/actions/interface.go` for
action-related methods.
- Remove individual action-related functions and replace them with
methods on the `Action` struct in `repo/action.go`.

---------

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Signed-off-by: appleboy <appleboy.tw@gmail.com>
(cherry picked from commit 852547d0dc70299589c7bf8d00ea462ed709b8e5)

Conflicts:
	routers/api/v1/api.go
	trivial conflict because of Fix #2512 /api/forgejo/v1/version auth check (#2582)
2024-04-28 15:39:01 +02:00
wxiaoguang
089e95f250
Fix code search input for different views (#30678)
Now only show the "code search" on the repo home page, because it only
does global search.
So do not show it when viewing file or directory to avoid misleading
users (it doesn't search in a directory)

(cherry picked from commit 993736d838c36e26951b6cfea9c6a549958addd1)
2024-04-28 15:39:01 +02:00
Lunny Xiao
4e6e63dca2
Fix compare api swagger (#30648)
The swagger format on #30349 is not right. This PR will fix it.

(cherry picked from commit 8924d9b2efd52132876fcd106c625a2a2db7a295)
2024-04-28 15:39:00 +02:00
silverwind
12b199c5e5
Enable more revive linter rules (#30608)
Noteable additions:

- `redefines-builtin-id` forbid variable names that shadow go builtins
- `empty-lines` remove unnecessary empty lines that `gofumpt` does not
remove for some reason
- `superfluous-else` eliminate more superfluous `else` branches

Rules are also sorted alphabetically and I cleaned up various parts of
`.golangci.yml`.

(cherry picked from commit 74f0c84fa4245a20ce6fb87dac1faf2aeeded2a2)

Conflicts:
	.golangci.yml
	apply the linter recommendations to Forgejo code as well
2024-04-28 15:39:00 +02:00
Bo-Yi Wu
4e2de8bdc6
fix(api): refactor branch and tag existence checks (#30618)
- Update branch existence check to also include tag existence check
- Adjust error message for branch/tag existence check

ref: https://github.com/go-gitea/gitea/pull/30349

---------

Signed-off-by: appleboy <appleboy.tw@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 6459c50278906893f3cbc2bf3e52eff65e739b37)
2024-04-28 15:39:00 +02:00
Otto Richter
bc8860ce32 Move watching sub-template to sidebar folder 2024-04-28 12:56:28 +02:00
Baptiste Daroussin
08f5a25d3b ldap: default domain name (#3414)
When the ldap synchronizer is look for an email address and fails at
finding one, it falls back at creating one using "localhost.local"
domain.

This new field makes this domain name configurable.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3414
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Baptiste Daroussin <bapt@FreeBSD.org>
Co-committed-by: Baptiste Daroussin <bapt@FreeBSD.org>
2024-04-26 22:38:58 +00:00
Earl Warren
94d7523f83 Merge pull request '[BUG] save empty comments' (#3442) from oliverpool/forgejo:empty_comments into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3442
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-25 19:32:28 +00:00
Earl Warren
7cabc5670d
Implement remote user login source and promotion to regular user
A remote user (UserTypeRemoteUser) is a placeholder that can be
promoted to a regular user (UserTypeIndividual). It represents users
that exist somewhere else. Although the UserTypeRemoteUser already
exists in Forgejo, it is neither used or documented.

A new login type / source (Remote) is introduced and set to be the login type
of remote users.

Type        UserTypeRemoteUser
LogingType  Remote

The association between a remote user and its counterpart in another
environment (for instance another forge) is via the OAuth2 login
source:

LoginName   set to the unique identifier relative to the login source
LoginSource set to the identifier of the remote source

For instance when migrating from GitLab.com, a user can be created as
if it was authenticated using GitLab.com as an OAuth2 authentication
source.

When a user authenticates to Forejo from the same authentication
source and the identifier match, the remote user is promoted to a
regular user. For instance if 43 is the ID of the GitLab.com OAuth2
login source, 88 is the ID of the Remote loging source, and 48323
is the identifier of the foo user:

Type        UserTypeRemoteUser
LogingType  Remote
LoginName   48323
LoginSource 88
Email       (empty)
Name        foo

Will be promoted to the following when the user foo authenticates to
the Forgejo instance using GitLab.com as an OAuth2 provider. All users
with a LoginType of Remote and a LoginName of 48323 are examined. If
the LoginSource has a provider name that matches the provider name of
GitLab.com (usually just "gitlab"), it is a match and can be promoted.

The email is obtained via the OAuth2 provider and the user set to:

Type        UserTypeIndividual
LogingType  OAuth2
LoginName   48323
LoginSource 43
Email       foo@example.com
Name        foo

Note: the Remote login source is an indirection to the actual login
source, i.e. the provider string my be set to a login source that does
not exist yet.
2024-04-25 13:03:49 +02:00
oliverpool
ea9051624d comment: save empty comments 2024-04-25 11:21:39 +02:00
Gergely Nagy
c647e8639f
api: The repo wiki APIs should respect WikiBranch
Back in #2264, we made it possible to change the branch wikis use from
the hardcoded "master" branch to `[repository].DEFAULT_BRANCH`. However,
the API endpoints were not updated, and the "master" branch remained
hardcoded there.

This change fixes that, the API endpoints will now respect the
repository's `WikiBranch`.

Fixes #3391.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-25 00:36:58 +02:00
JakobDev
1bce2dc5c5 [FEAT]Add Option to hide Release Archive links (#3139)
This adds a new options to releases to hide the links to the automatically generated archives. This is useful, when the automatically generated Archives are broken e.g. because of Submodules.

![grafik](/attachments/5686edf6-f318-4175-8459-89c33973b181)
![grafik](/attachments/74a8bf92-2abb-47a0-876d-d41024770d0b)

Note:
This juts hides the Archives from the UI. Users can still download 5the Archive if they know t correct URL.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3139
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: JakobDev <jakobdev@gmx.de>
Co-committed-by: JakobDev <jakobdev@gmx.de>
2024-04-24 15:15:55 +00:00
Earl Warren
b63b224c36 Merge pull request '[gitea] week 2024-17 cherry pick (gitea/main -> forgejo)' (#3350) from algernon/wcp/2024-17 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3350
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-22 18:48:13 +00:00
0ko
469c214ec8 s/Gitea/Forgejo in various log messages and comments 2024-04-21 21:26:15 +05:00
wxiaoguang
3330b4d5d8
Fix HEAD method for robots.txt (#30603)
Fix #30601

(cherry picked from commit f60e1a1af25154160f08b85eb159c930b340df8b)
2024-04-21 16:28:16 +02:00
wxiaoguang
abeea42751
Fix project description rendering for org (#30587)
Fix #30263

![image](https://github.com/go-gitea/gitea/assets/2114189/41cabe6c-f94a-4874-a26f-d01bb89bb28c)

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit eb24d973b036e4dddf505d8c12e905ecb1a688f9)
2024-04-21 16:28:16 +02:00
Edward Zhang
b3a6596b54
Fix branch_protection api shows users/teams who has no readAccess (#30291)
Add some logic in `convert.ToBranchProtection` to return only the names
associated with readAccess instead of returning all names. This will
ensure consistency in behavior between the frontend and backend.
Fixes: #27694

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.com>
Co-authored-by: wenzhuo.zhang <wenzhuo.zhang@geely.com>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 02e183bf3fa502b7cef76e8dcdbf01b85ce641f0)
2024-04-21 16:28:16 +02:00
yp05327
3662829cc9
Fix empty field login_name in API response JSON when creating user (#30511)
Fix #30508

ps: if `sourceID` is not set, `LoginName` will be ignored
(cherry picked from commit cf9061f44a439aa7775e301a7467dbda22a06eaa)
2024-04-21 11:59:16 +02:00
Bo-Yi Wu
e025ec0131
feat(api): implement branch/commit comparison API (#30349)
- Add new `Compare` struct to represent comparison between two commits
- Introduce new API endpoint `/compare/*` to get commit comparison
information
- Create new file `repo_compare.go` with the `Compare` struct definition
- Add new file `compare.go` in `routers/api/v1/repo` to handle
comparison logic
- Add new file `compare.go` in `routers/common` to define `CompareInfo`
struct
- Refactor `ParseCompareInfo` function to use `common.CompareInfo`
struct
- Update Swagger documentation to include the new API endpoint for
commit comparison
- Remove duplicate `CompareInfo` struct from
`routers/web/repo/compare.go`
- Adjust base path in Swagger template to be relative (`/api/v1`)

GitHub API
https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#compare-two-commits

---------

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
(cherry picked from commit c70e442ce4b99e2a1f1bf216afcfa1ad78d1925a)

Conflicts:
	- routers/api/v1/swagger/repo.go
	  Conflict resolved by manually adding the lines from the Gitea
	  PR.
2024-04-21 11:58:18 +02:00
Gergely Nagy
8eba631f8d
hooks: Harden when we accept push options that change repo settings
It is possible to change some repo settings (its visibility, and
template status) via `git push` options: `-o repo.private=true`, `-o
repo.template=true`.

Previously, there weren't sufficient permission checks on these, and
anyone who could `git push` to a repository - including via an AGit
workflow! - was able to change either of these settings. To guard
against this, the pre-receive hook will now check if either of these
options are present, and if so, will perform additional permission
checks to ensure that these can only be set by a repository owner or
an administrator. Additionally, changing these settings is disabled for
forks, even for the fork's owner.

There's still a case where the owner of a repository can change the
visibility of it, and it will not propagate to forks (it propagates to
forks when changing the visibility via the API), but that's an
inconsistency, not a security issue.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
Signed-off-by: Earl Warren <contact@earl-warren.org>
2024-04-19 16:53:14 +02:00
Earl Warren
d07f12e010 Merge pull request 'Do not require login_name & source_id for /admin/user/{username}' (#3278) from algernon/forgejo:leave-your-name-at-the-door into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3278
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-17 11:05:13 +00:00
Gergely Nagy
d07c8c821c
Do not require login_name & source_id for /admin/user/{username}
When editing a user via the API, do not require setting `login_name` or
`source_id`: for local accounts, these do not matter. However, when
editing a non-local account, require *both*, as before.

Fixes #1861.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-17 10:33:52 +02:00
Gergely Nagy
df8e58c5cb
Allow changing global wiki editability via the API
The global wiki editability can be set via the web UI, this patch makes
it possible to set the same thing via the API too. This is accomplished
by adjusting the GET and PATCH handlers of the
`/api/v1/repos/{owner}/{repo}` route.

The first will include the property when checking the repo's settings,
the second allows a repo admin to change the setting too.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-16 22:51:36 +02:00
oliverpool
ada8bfa52f Merge pull request 'Fix release published actions not triggering for releases created from existing tags' (#3220) from zotan/forgejo:forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3220
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-16 18:27:59 +00:00
Zettat123
463ea8fdd2
Check the token's owner and repository when registering a runner (#30406)
Fix #30378

(cherry picked from commit 0fe9f93eb4c94d55e43b18b9c3cc6d513a34c0b5)

Conflicts:
	- models/organization/org.go
	- services/repository/delete.go
	- services/user/delete.go
	In all three cases, conflicts were resolved by manually adding
        the lines added by the Gitea patch, keeping the Forgejo code
        surrounding them.
2024-04-16 09:38:26 +02:00
Laura Hausmann
46977b0f01
Fix release published actions not triggering for releases created from existing tags 2024-04-15 22:53:53 +02:00
Gergely Nagy
5bf959a3a5
Convert the remaining interface{}s to any
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-15 20:01:36 +02:00
yp05327
9987b75662
Fix network error when open/close organization/individual projects and redirect to project page (#30387)
Follow #27734

![image](https://github.com/go-gitea/gitea/assets/18380374/02ed6b9a-cbb6-4f49-a54a-ca76a0d052a9)

Updated:
Redirect to project page instead of project list page.

(cherry picked from commit af02b8a0e9b00a324fb92f1f73ea386dd9595c3d)
2024-04-15 20:01:36 +02:00
Lunny Xiao
f544bb25b5
Fix missed doer (#30231)
Fix #29879

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 908426aa0fcc58961c345994f0f66056f6cf5f48)
2024-04-15 20:01:35 +02:00
wxiaoguang
9b8de15797
Clean up log messages (#30313)
`log.Xxx("%v")` is not ideal, this PR adds necessary context messages.
Remove some unnecessary logs.

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 83f83019ef3471b847a300f0821499b3896ec987)

Conflicts:
	- modules/util/util.go
          Conflict resolved by picking `util.Iif` from 654cfd1dfbd3f3f1d94addee50b6fe2b018a49c3
2024-04-15 20:01:35 +02:00
0ko
ceba1abe06 Merge pull request 'Improve English locale' (#2941) from 0ko/forgejo:english20240401 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2941
Reviewed-by: Otto <otto@codeberg.org>
2024-04-15 17:34:52 +00:00
Gusted
db39b8f4a7
[PORT] gitea#30430: Fix rename branch 500 when the target branch is deleted but exist in database
Fix https://github.com/go-gitea/gitea/issues/30428

---

Conflict resolution: trivial and move test to own subtest run directly
after `Normal`.

(cherrypicked commit 9466fec879f4f2c88c7c1e7a5cffba319282ab66)
2024-04-15 16:03:09 +02:00
oliverpool
16879b07d2 [PORT] drop utils.IsExternalURL (and expand IsRiskyRedirectURL tests) (#3167)
Related to  #2773
Related to Refactor URL detection [gitea#29960](https://github.com/go-gitea/gitea/pull/29960)
Related to Refactor external URL detection [gitea#29973](https://github.com/go-gitea/gitea/pull/29973)

I added a bunch of tests to `httplib.TestIsRiskyRedirectURL` and some cases should be better handled (however it is not an easy task).

I also ported the removal of `utils.IsExternalURL`, since it prevents duplicated (subtle) code.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3167
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: oliverpool <git@olivier.pfad.fr>
Co-committed-by: oliverpool <git@olivier.pfad.fr>
2024-04-15 13:03:08 +00:00
Shiny Nematoda
aec787b927 fix code search template 2024-04-11 14:52:37 +00:00
Earl Warren
ad8a3ed2a1 Merge pull request 'Do not update PRs based on events that happened before they existed' (#2932) from earl-warren/forgejo:wip-superfluous into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2932
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
2024-04-11 12:07:07 +00:00
Earl Warren
998a431747
Do not update PRs based on events that happened before they existed
* Split TestPullRequest out of AddTestPullRequestTask
* A Created field is added to the Issue table
* The Created field is set to the time (with nano resolution) on creation
* Record the nano time repo_module.PushUpdateOptions is created by the hook
* The decision to update a pull request created before a commit was
  pushed is based on the time (with nano resolution) the git hook
  was run and the Created field

It ensures the following happens:

* commit C is pushed
* the git hook queues AddTestPullRequestTask for processing and returns with success
* TestPullRequest is not called yet
* a pull request P with commit C as the head is created
* TestPullRequest runs and ignores P because it was created after the commit was received

When the "created" column is NULL, no verification is done, pull
requests that were created before the column was created in the
database cannot be newer than the latest call to a git hook.

Fixes: https://codeberg.org/forgejo/forgejo/issues/2009
2024-04-11 11:16:23 +02:00
Earl Warren
9396edb2e3 Merge pull request 'Update checker setting updates' (#2925) from 0ko/forgejo:update_check_default into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2925
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-04-10 20:54:10 +00:00