Commit graph

1084 commits

Author SHA1 Message Date
Solomon Victorino
750deb9367 test: fail on unhandled JS exceptions 2024-08-14 15:35:20 -06: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
01affa0908 Merge pull request 'fix: Run full PR checks on agit push' (#4885) from viceice/forgejo:fix/agit/force-push into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4885
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2024-08-13 18:23:40 +00:00
Jason Song
a627b885c7
Support compression for Actions logs (#31761)
Support compression for Actions logs to save storage space and
bandwidth. Inspired by
https://github.com/go-gitea/gitea/issues/24256#issuecomment-1521153015

The biggest challenge is that the compression format should support
[seekable](https://github.com/facebook/zstd/blob/dev/contrib/seekable_format/zstd_seekable_compression_format.md).
So when users are viewing a part of the log lines, Gitea doesn't need to
download the whole compressed file and decompress it.

That means gzip cannot help here. And I did research, there aren't too
many choices, like bgzip and xz, but I think zstd is the most popular
one. It has an implementation in Golang with
[zstd](https://github.com/klauspost/compress/tree/master/zstd) and
[zstd-seekable-format-go](https://github.com/SaveTheRbtz/zstd-seekable-format-go),
and what is better is that it has good compatibility: a seekable format
zstd file can be read by a regular zstd reader.

This PR introduces a new package `zstd` to combine and wrap the two
packages, to provide a unified and easy-to-use API.

And a new setting `LOG_COMPRESSION` is added to the config, although I
don't see any reason why not to use compression, I think's it's a good
idea to keep the default with `none` to be consistent with old versions.

`LOG_COMPRESSION` takes effect for only new log files, it adds `.zst` as
an extension to the file name, so Gitea can determine if it needs
decompression according to the file name when reading. Old files will
keep the format since it's not worth converting them, as they will be
cleared after #31735.

<img width="541" alt="image"
src="https://github.com/user-attachments/assets/e9598764-a4e0-4b68-8c2b-f769265183c9">

(cherry picked from commit 33cc5837a655ad544b936d4d040ca36d74092588)

Conflicts:
	assets/go-licenses.json
	go.mod
	go.sum
  resolved with make tidy
2024-08-13 06:51:49 +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
Michael Kriese
2d05e922a2
fix(agit): run full pr checks on force-push 2024-08-12 09:00:41 +02: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
d6647f710f tests additional grant scopes
- parsing scopes in `grantAdditionalScopes`
- read basic user info if `read:user`
- fail reading repository info if only `read:user`
- read repository info if `read:repository`
- if `setting.OAuth2.EnabledAdditionalGrantScopes` not provided it reads
  all groups (public+private)
- if `setting.OAuth2.EnabledAdditionalGrantScopes` provided it reads
  only public groups
- if `setting.OAuth2.EnabledAdditionalGrantScopes` and `read:organization`
 provided it reads all groups
2024-08-09 14:58:15 +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
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
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
Earl Warren
690b63fc74 Merge pull request '[BUG] Ensure all filters are persistent in issue filters' (#4852) from gusted/forgejo-filter-links into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4852
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-08-07 05:49:25 +00:00
Aravinth Manivannan
f9cbea3d6b feat: access ActivityPub client through interfaces to facilitate mocking in unit tests (#4853)
Was facing issues while writing unit tests for federation code. Mocks weren't catching all network calls, because was being out of scope of the mocking infra. Plus, I think we can have more granular tests.

This PR puts the client behind an interface, that can be retrieved from `ctx`. Context doesn't require initialization, as it defaults to the implementation available in-tree. It may be overridden when required (like testing).

## Mechanism

1. Get client factory from `ctx` (factory contains network and crypto parameters that are needed)
2. Initialize client with sender's keys and the receiver's public key
3. Use client as before.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4853
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Aravinth Manivannan <realaravinth@batsense.net>
Co-committed-by: Aravinth Manivannan <realaravinth@batsense.net>
2024-08-07 05:45:24 +00:00
Gusted
192177fc88
[BUG] Ensure all filters are persistent in issue filters
- Ensure that all filters are set in the issue filters links, thus
becoming persistent.
- Adds integration test
- Resolves #4843
2024-08-06 17:12:10 +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
Gusted
b967fce25d
[BUG] Allow 4 charachter SHA in /src/commit
- Adjust the `RepoRefByType` middleware to allow for commit SHAs that
are as short as 4 characters (the minium that Git requires).
- Integration test added.
- Follow up to 4d76bbeda7
- Resolves #4781
2024-08-06 01:45:41 +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
Solomon Victorino
3ee5bc262f fix(ui): handle out-of-bounds end line in code selection (#4788)
- fallback to the last line, preventing TypeError
- add E2E test

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4788
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Solomon Victorino <git@solomonvictorino.com>
Co-committed-by: Solomon Victorino <git@solomonvictorino.com>
2024-08-05 04:45:07 +00:00
Jason Song
6844258c67
Clarify Actions resources ownership (#31724)
Fix #31707.

Also related to #31715.

Some Actions resources could has different types of ownership. It could
be:

- global: all repos and orgs/users can use it.
- org/user level: only the org/user can use it.
- repo level: only the repo can use it.

There are two ways to distinguish org/user level from repo level:
1. `{owner_id: 1, repo_id: 2}` for repo level, and `{owner_id: 1,
repo_id: 0}` for org level.
2. `{owner_id: 0, repo_id: 2}` for repo level, and `{owner_id: 1,
repo_id: 0}` for org level.

The first way seems more reasonable, but it may not be true. The point
is that although a resource, like a runner, belongs to a repo (it can be
used by the repo), the runner doesn't belong to the repo's org (other
repos in the same org cannot use the runner). So, the second method
makes more sense.

And the first way is not user-friendly to query, we must set the repo id
to zero to avoid wrong results.

So, #31715 should be right. And the most simple way to fix #31707 is
just:

```diff
-	shared.GetRegistrationToken(ctx, ctx.Repo.Repository.OwnerID, ctx.Repo.Repository.ID)
+	shared.GetRegistrationToken(ctx, 0, ctx.Repo.Repository.ID)
```

However, it is quite intuitive to set both owner id and repo id since
the repo belongs to the owner. So I prefer to be compatible with it. If
we get both owner id and repo id not zero when creating or finding, it's
very clear that the caller want one with repo level, but set owner id
accidentally. So it's OK to accept it but fix the owner id to zero.

(cherry picked from commit a33e74d40d356e8f628ac06a131cb203a3609dec)
2024-08-04 18:24:10 +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
0ko
37151d75cb Merge pull request 'Refactor user-cards as a grid' (#4760) from 0ko/forgejo:ui-usercards-grid into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4760
Reviewed-by: Caesar Schinas <caesar@caesarschinas.com>
2024-08-02 17:43:40 +00:00
0ko
cad8d09ba8 ui: refactor user-cards as a grid 2024-08-02 19:27:31 +05: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
a414703c09
tests: Add an IsTemplate option to DeclarativeRepoOptions
This lets us use `CreateDeclarativeRepoWithOptions` to create template
repositories.

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
Gusted
b0a104d3d4 Merge pull request 'Distinguish between new tags, releases and pre-releases on activity page' (#4782) from mahlzahn/forgejo:repo_activity_releases into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4782
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-08-02 08:11:39 +00: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
Robert Wolff
2795f5bc0e feat(UI): fix links, add labels for releases on repo activity page 2024-08-02 07:56:03 +02:00
Robert Wolff
b7f2739dfe feat(UI): add links to icons in repository file list 2024-08-01 13:32:01 +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
Earl Warren
ef7313097c Merge pull request 'Refactor repo migration items' (#4710) from 0ko/forgejo:ui-migration-items into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4710
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-30 15:48:29 +00:00
Earl Warren
d40873e768 Merge pull request '[gitea] week 2024-31 cherry pick (gitea/main -> forgejo)' (#4716) from earl-warren/wcp/2024-31 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4716
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-30 15:45:27 +00:00
Earl Warren
7b798a88ee Merge pull request 'fix(UI): issue task list numbers, fix #4431' (#4452) from mahlzahn/forgejo:fix_issue_task_list_numbers_issue_4431 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4452
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-07-29 20:50:42 +00:00
Malte Jürgens
a61e7c7a39
Implement external assets 2024-07-29 20:35:55 +02:00
Robert Wolff
5bb191e14d remove commented leftovers 2024-07-28 16:27:51 +02:00
Robert Wolff
90fe38ec83 add integration test for check list numbers on issues list page 2024-07-28 14:18:34 +00:00
Robert Wolff
531a18810b fix typo in regexp 2024-07-28 14:18:34 +00:00
Robert Wolff
574265e4a8 fix golangci-lint regexpMust 2024-07-28 14:18:34 +00:00
Robert Wolff
58c60ec11c add issue checklist integration test 2024-07-28 14:18:34 +00:00
Earl Warren
3d1b8f47c0
Use GetDisplayName() instead of DisplayName() to generate rss feeds (followup)
The test only exists in Forgejo and the behavior it verifies now require
setting.UI.DefaultShowFullName to be true.
2024-07-28 09:00:29 +02:00
Gusted
358ec8002e
[UI] Show AGit label on merged PR
- The label wasn't show on merged PRs.
- Integration test added
2024-07-28 02:29:58 +02:00
Gusted
4c40bf5d29 Merge pull request '[SEC] Notify owner about TOTP enrollment' (#4704) from gusted/sec-more-totp into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4704
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-27 20:53:47 +00:00
Earl Warren
ff6aceaeac
feat: optimize the FindUnreferencedPackages package query
Replace a double select with a simple select.

The complication originates from the initial implementation which
deleted packages instead of selecting them. It was justified to
workaround a problem in MySQL. But it is just a waste of resources
when collecting a list of IDs.
2024-07-27 15:57:24 +02:00
0ko
2ad377130b ui: refactor repo migration items 2024-07-27 16:35:48 +05: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
0ko
13cb4b3f2e fix(ui): fix conversation template 2024-07-25 23:51:17 +05: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
Robert Wolff
0a74c95b2a fix(ui): use right placeholder string in milestones search (#4628)
This PR fixes a wrong placeholder for the search for milestones. I tested it locally (see attachments, below).

Before: https://codeberg.org/attachments/ba845ce1-1f20-4131-a74d-7220986a4acf
After: https://codeberg.org/attachments/0c4e32ee-b1a8-4472-837d-daa2a2a50121

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4628
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Robert Wolff <mahlzahn@posteo.de>
Co-committed-by: Robert Wolff <mahlzahn@posteo.de>
2024-07-25 03:33:44 +00: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
Earl Warren
ded237ee77 Merge pull request '[gitea] week 2024-30 cherry pick (gitea/main -> forgejo)' (#4607) from algernon/wcp/2024-30 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4607
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-23 16:01:28 +00:00
Gusted
3ba64bd038 Merge pull request 'Reserve the devtest username' (#4638) from ikuyo/forgejo:reserve-devtest into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4638
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-07-23 12:59:16 +00:00
Ikuyo
859cc23dc2
Add missing trailing comma 2024-07-23 11:04:57 +05:00
Ikuyo
90c0e9dace
Add devtest in reserved usernames test 2024-07-23 08:38:55 +05:00
Gusted
40baa96fc3
[CHORE] Add playwright eslint plugin
- Add https://github.com/playwright-community/eslint-plugin-playwright
as a linter for the playwright tests.
- `no-networkidle` and `no-conditional-in-test` are disabled as fixing
those doesn't seem to really improve testing quality for our use case.
- Some non-recommended linters are enabled to ensure consistency (the
prefer rules).
2024-07-22 20:03:32 +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
0ko
c235e9b919 ui: encourage participation in the localization of Forgejo in language settings (#4596)
Changes:
- clarify how the language selector works as this is not very unclear: the footer selector is per-session and the settings selector is per-account, usually users need the 2nd
- tell about how to participate in improvement of localization via this link: https://forgejo.org/docs/latest/developer/localization/. Test that the link is present by extending and existing test

Preview:
- https://codeberg.org/attachments/f5d04fa1-2e9a-46e4-ac94-d8effefb9762
- https://codeberg.org/attachments/2a820bf5-1326-4c4a-9aff-4b9b70ee1bc0

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4596
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-20 16:38:59 +00: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
Earl Warren
3e8f975345 Merge pull request 'Remove hardcoded filenames for better readability' (#4225) from Xinayder/forgejo:alpine-noarch into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4225
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-18 13:28:09 +00:00
Alexandre Oliveira
ef815db8f2 Remove hardcoded filenames for better readability 2024-07-17 23:20:48 +02:00
TheFox0x7
3fca6c0bf5
test: enforce tenv usage in tests 2024-07-17 23:07:41 +02:00
Earl Warren
c349da723c
Revert "ui: update pull request icons (#4455)" (partial)
This reverts commit 8e56f61d0f.

Refs: https://codeberg.org/forgejo/discussions/issues/192
2024-07-17 16:56:25 +02:00
Earl Warren
125e4832e0 Merge pull request 'Update module github.com/go-testfixtures/testfixtures/v3 to v3.12.0 (forgejo)' (#4485) from renovate/forgejo-github.com-go-testfixtures-testfixtures-v3-3.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4485
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-17 14:07:10 +00: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
Earl Warren
011a7cffd2 Merge pull request 'fix: labels set during issue creation are not displayed' (#4546) from 0ko/forgejo:ui-labels-aaa into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4546
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-17 12:03:43 +00:00
0ko
326958316d ui: fix issue labels 2024-07-17 16:19:44 +05: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
Gusted
984d0127f1
Enable multiStatements for MySQL 2024-07-16 23:16:03 +02:00
Earl Warren
5fc3916fff
docs(e2e): explain how to use VSCodium or VSCode
Imported from the docs to keep them in one place.
2024-07-16 17:22:39 +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
Bram Hagens
8e56f61d0f ui: update pull request icons (#4455)
Added a new icon for closed PRs (similar to GitHub, GitLab, etc),
Fixes https://codeberg.org/forgejo/forgejo/issues/4454.

Before:
- https://codeberg.org/attachments/b17c5846-506f-4b32-97c9-03f31c5ff758
- https://codeberg.org/attachments/babcd011-d340-4a9e-94db-ea17ef6d3c2b
- https://codeberg.org/attachments/dbca009a-413e-48ab-84b1-55ad7f4fcd3d

After:
- https://codeberg.org/attachments/3e161f7b-4172-4a8c-a8eb-54bcf81c0cae
- https://codeberg.org/attachments/0c308f7e-25a0-49a3-9c86-1b1f9ab39467
- https://codeberg.org/attachments/b982b6b8-c78a-4332-8269-50d01de834e0

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4455
Reviewed-by: Caesar Schinas <caesar@caesarschinas.com>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Bram Hagens <bram@bramh.me>
Co-committed-by: Bram Hagens <bram@bramh.me>
2024-07-16 14:38:46 +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
Earl Warren
56ee58c239 Merge pull request '[CHORE] Use github.com/ProtonMail/go-crypto' (#4506) from gusted/proton-openpgp into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4506
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-15 16:49:05 +00:00
Earl Warren
f4b8ffcca4 Merge pull request '[CHORE] Update jsonschema library to v6' (#4496) from gusted/update-jsonscheme into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4496
Reviewed-by: Otto <otto@codeberg.org>
2024-07-15 16:47:37 +00: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
Gusted
45401e044f
[CHORE] Update jsonschema library to v6
- Update the `github.com/santhosh-tekuri/jsonschema` library from v5 to
v6.
- Update the migration loader function to a type, which is now required
in V6.
- `github.com/santhosh-tekuri/jsonschema/v6` was already used by gof3,
so removing the v5 library and using the v6 library reduces the binary
size of Forgejo.
  - Before: 95912040 bytes
  - After: 95706152 bytes
2024-07-15 17:20:50 +02:00
Earl Warren
84e6f03134 Merge pull request 'Fix CI status link in dashboard' (#4481) from beowulf/fix-ci-status-link-on-dashboard into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4481
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-14 17:38:06 +00:00
Otto
f255923b67 Merge pull request 'tests(e2e): only run one test, not all of them each time' (#4492) from earl-warren/forgejo:wip-fix-e2e into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4492
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
2024-07-14 15:09:56 +00:00
Earl Warren
e3665c3042
tests(e2e): only run one test, not all of them each time 2024-07-14 14:19:05 +02:00
Beowulf
1088c057e0
Fixed link to commit status and tooltip on dashboard
Regression introduced by 5a18b74632
2024-07-14 13:03:03 +02:00
Gusted
013b89eb13
[UI] Remove unnecessary vertical space in empty labels list
- Don't show the labels-list element, if no labels are selected.
- The labels-list was taking up vertical space, even if no labels were
selected which caused an inconsistency in how the sidebar looked.
- Adds integration test
2024-07-14 05:38:45 +02:00
Xavier Vello
147ae2c5be Fix opengraph meta for wiki pages (#4427)
Fixes https://codeberg.org/forgejo/forgejo/issues/4417 by adding a conditional branch to the `head_opengraph` template to match wiki pages. I tried to be consistent with the other types:

- `og:title` is the wiki page title
- `og:url` is built via `{{AppUrl}}{{.Link}}` like it is done for commit and file views. This has the caveat of doubling the slash (see test below). Should we `{{trimSuffix "/" AppUrl}}` to remove this, if sprig is available?
- `og:description` is the repository description to match GH behaviour. Also, the first sentences of the page might not be descriptive enough. Should we prefix the repo description with the repo name?
- `og:type` and `og:image` are common

Added a `TestOpenGraphProperties` integration test using existing fixtures. Coverage is not 100% but can be improved later.

## Output on a test repo

```html
<meta property="og:title" content="Project architecture">
<meta property="og:url" content="http://localhost:3000//xvello/wiki-test/wiki/Project-architecture">
<meta property="og:description" content="description for a test project">
<meta property="og:type" content="object">
<meta property="og:image" content="http://localhost:3000/avatars/3dd4d1e4eef065d1b4ad4bdb081ab6e7">
```

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4427
Co-authored-by: Xavier Vello <xavier.vello@gmail.com>
Co-committed-by: Xavier Vello <xavier.vello@gmail.com>
2024-07-10 18:29:35 +00:00
Earl Warren
436f8fda07 Merge pull request 'Make user privacy settings more clear' (#4439) from 0ko/forgejo:ui-settings-activity into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4439
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-10 06:09:52 +00: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
Shiny Nematoda
928f188689 fix(code search): various ui/ux improvements raised by user research (#4332)
various improvements from [user research](https://codeberg.org/forgejo/user-research/src/branch/main/interviews/2024-06/issues%28search%2Cfeatures%29%2Cselfhosting%2CCI%2Caccessibility%2Ccodesearch.md)

- filenames are links to the respective files
  fixes: `fold menu: user clicked and expected to view file, instead the file collapsed`

- refactor(searchfile.tmpl): ordered lists with lines grouped together instead of table
  fixes: `multiple matches per file are "merged", only visible in the code lines (no visual separation)`

- feat: display fuzzy as "Either" when using git-grep which is much more accurate than "fuzzy"
  git-grep does not support fuzzy searching, in this context selecting fuzzy searching worked similar to an OR of white space separated keywords
  fixes: `typo doesn't bring results in fuzzy search`

---

<details>
<summary>Before</summary>

![1](https://codeberg.org/attachments/5173357f-8dce-470c-9a9e-84a30517c216)
</details>

<details>
<summary>After</summary>

![after](https://codeberg.org/attachments/f8ec15dd-08ce-41f2-9326-d823de6f2395)
</details>

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4332
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-07-10 05:25:32 +00:00
0ko
29a1c786a3 ui(settings): make user privacy settings more clear 2024-07-10 10:07:23 +05:00
Beowulf
11ff38dd40
fix branch selector in commit graph
Regression from 5ef80ceb64
2024-07-07 20:26:30 +02: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
Otto Richter
fafc4f6ad9 test: issue sidebar testing using playwright (#4319)
Conclusion of https://codeberg.org/forgejo/forgejo/issues/3499

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4319
Co-authored-by: Otto Richter <git@otto.splvs.net>
Co-committed-by: Otto Richter <git@otto.splvs.net>
2024-07-05 05:03:45 +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
Danko Aleksejevs
36b6444f34 Remove tab key handling in markdown editor, add toolbar buttons instead, re #4072 #4142 (#4263)
We haven't decided much (to my knowledge), and I've been using the main branch in production (as one does) and found out even I myself rely on Tab sometimes working to move focus and have been caught off guard by it indenting lines instead.

So this removes Tab handling and instead adds two new buttons to the toolbar. The indentation logic is unchanged (other than now focusing the textarea during button handling, to ensure execCommand works, and thus undo history is preserved).

I'm not sure which terminology to use in tooltips. Could also add keyboard shortcuts for the whole toolbar eventually, but as is this is hopefully an better solution to the problems I previously created than un-merging the whole thing :)

<img width="414" alt="Screenshot with two new buttons" src="/attachments/b7af3aa4-a195-48d1-be0a-1559f25dce8e">

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4263
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Danko Aleksejevs <danko@very.lv>
Co-committed-by: Danko Aleksejevs <danko@very.lv>
2024-06-30 13:03:32 +00:00
Mai-Lapyst
9b225b56a9
Fixes git references wrongly transmitted to the action run 2024-06-30 06:17:40 +02:00
Shiny Nematoda
8546b01249 [FEAT] branch/tag dropdown for git-grep (#4262)
#3654 introduced support for searching non-default branches and tags.

However, the results page lacked any indicator (aside from the url) on which branch/tag the searcg was performed. A branch dropdown was introduced to the code search page when git-grep is used both as an indicator and as a intrusive way to switch between branches/tags.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4262
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-29 06:57:34 +00:00
0ko
f703399770 Merge pull request 'Improve button gap consistency' (#4254) from 0ko/forgejo:ui-button-row into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4254
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
2024-06-29 03:23:17 +00:00
0ko
28ceec6fad ui: fix wrong string used in a search box (#4258)
Resolves https://codeberg.org/forgejo/forgejo/issues/4256.
Fixes regression caused by https://github.com/go-gitea/gitea/pull/29530/files#diff-b46ae540c8eb41d1ccaa1659489fcc47d72eee4c4f04dc83c5ccf4d6d1a3395eR45.

Preview:
Before - https://codeberg.org/forgejo/forgejo/attachments/d629f2e9-0d07-4719-9250-52d3ba9f4a9e
After - https://codeberg.org/forgejo/forgejo/attachments/6a5f5cb2-124d-4673-a387-8483125a89eb

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4258
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2024-06-28 16:28:03 +00:00
0ko
7299b2def4 chore: rename class issue-title-buttons to button-row 2024-06-28 13:11:16 +05: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
Earl Warren
282dfa1bea Merge pull request 'Clarify author label in tooltip' (#4201) from 0ko/forgejo:ui-author-tooltip into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4201
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-06-26 08:38:55 +00:00
0ko
0c4716b047 Clarify author label in tooltip 2024-06-25 18:30:06 +05:00
0ko
1496bb6079 Better logic for showing user feed/public activity elements (#4189)
There are a few changes of template logic which defines when which elements should be shown on profile page. The motivation is to have the elements when needed and don't when they're not relevant.

## Changes

### RSS button

Now displayed if:
* feeds are enabled
AND one or more of:
* the current user is an admin
* the current user is viewing their profile
* the activity is publicly available

So, basically in cases when the .rss feed actually contains any events. Before this change this button was constantly shown and was giving an empty feed if it was unavailable.

### Public activity tab

The tab is displayed if:
* the current user is an admin
* the current user is viewing their profile
* the activity is publicly available
* the current tab is this exact tab, for example, in case it was accessed by adding `?tab=activity` to the URL, so that the UI is not broken w/o a highlighted tab

So, this tab is not displayed when it's not going to contain any information, but still can be accessed.

### Banner "This user has disabled the public visibility of the activity."

For admins:
* always show the big blue banner to warn that sharing a screenshot of this publicly is bad idea

For self:
* always display a little note about the current visibility status with a "Change" link

For others:
* only display a little note to explain why the activity is not shown

### Heatmap and activity feed

Elements are only displayed when relevant, instead of keeping empty leftovers, for easier testing. This template change is also covered by test. **Everything in this Changes section is covered by test unless I forgot something.**

## Preview

There's obviously too many states to screenshot, here are highlights:

![](https://codeberg.org/attachments/47559531-9bcd-46c0-90d4-8b51512da752)
_Warning admin for why they're seeing the information_

![](https://codeberg.org/attachments/3107bf62-955b-4fe5-bce3-6305a928afe1)
_Viewing self - private_

![](https://codeberg.org/attachments/afb63ead-fb0b-4fc7-9d8b-c6c09e9ae62b)
_Viewing self - public_

![](https://codeberg.org/attachments/df3c090a-7490-4827-b33b-771fd4fa0a9f)
_Don't have access to the information_

![](https://codeberg.org/attachments/2dd2b0ac-2fe0-4453-aa4b-e91fd08f4411)
_The tab is not shown when the activity can't be accessed_

![](https://codeberg.org/attachments/ed4c61de-b3b7-4523-b92b-bc76e1d8b7c5)
_Can't access the RSS feed_

![](https://codeberg.org/attachments/5a27f2be-d79c-4fb4-85a5-758348398f1b)
_Can access the RSS feed_

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4189
Reviewed-by: Otto <otto@codeberg.org>
2024-06-24 08:19:11 +00:00
Twenty Panda
b18ba810a5 test: coverage for /repos/{owner}/{repo}/issues?project=
Refs: https://codeberg.org/forgejo/forgejo/pulls/4215#issuecomment-2040651
2024-06-23 19:57:07 +02:00
Renovate Bot
c07cc28d88 Update module code.forgejo.org/f3/gof3/v3 to v3.4.0 (#4196)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| code.forgejo.org/f3/gof3/v3 | require | minor | `v3.3.1` -> `v3.4.0` |

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am" (UTC), Automerge - "before 4am" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MDkuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQwOS4xIiwidGFyZ2V0QnJhbmNoIjoiZm9yZ2VqbyIsImxhYmVscyI6WyJkZXBlbmRlbmN5LXVwZ3JhZGUiXX0=-->

Co-authored-by: Twenty Panda <twenty-panda@posteo.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4196
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-06-21 13:51:59 +00:00
Earl Warren
0e7095720b Merge pull request 'Show edit tab initially also when saved in preview tab previously' (#3969) from beowulf/show-edit-tab-initially-also-editing-comments-multiple-times-and-saving-in-preview-mode into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3969
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-06-21 06:54:54 +00:00
0ko
53215726e1 Add headers to follower lists 2024-06-19 11:53:59 +05: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
Earl Warren
22aa2b6341 Merge pull request 'Add Org-Readme to search with priority' (#4147) from beowulf/add-org-readme-to-search-with-priority into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4147
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-06-16 18:17:45 +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
Zoupers Zou
baad8337f9
Fix #31185 try fix lfs download from bitbucket failed (#31201)
Fix #31185

(cherry picked from commit e25d6960b5749fbf7f88ebb6b27878c0459817da)
2024-06-16 13:42:59 +02:00
Earl Warren
50afca7961
fix(f3): do not run the F3 CLI if F3 is disabled 2024-06-16 13:33:33 +02:00
Shiny Nematoda
53d4e90411 [FEAT] folding results for repo search (#4134)
closes #3855

unlike #3854, this implementation uses a generic details html tag and a bit of tailwind magic...

---
## Maintainers Note
- previously tailwind classes of the form `[-a-zA-Z:0-9_.]` was disabled, however they were enabled since they were required for the `group-open:` classes

---

## Manual Testing
1. Visit the code search results after submitting a valid query for repo (if indexer disabled) or repo, user, explore (if indexer enabled)
2. Verify thst
    1. the results are unfloded/open by default
    2. the chevron points down when open and right when closed

<video src="/attachments/5a55c56f-6159-4422-ab80-962e0121e7d2" title="fold2.mp4" controls></video>

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4134
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
2024-06-15 20:16:18 +00:00
Danko Aleksejevs
221ca0c404 Implement tab indentation and list continuation in the new editor (#3848, #3849) (#4072)
This overrides handling of Tab and Enter keys in the ComboMarkdownEditor, so that:

* Pressing Tab prepending 4 spaces to the line under cursor, or all the lines in the selection.
* Pressing Shift+Tab removes up to 4 spaces.
* Pressing Enter repeats any indentation and a "repeatable" prefix (list or blockquote) from the current line.

Since Tab "capture" can interfere with keyboard navigation, it's only done if there was any previous input in the textarea or if it was selected with a pointer. Additionally, presing Esc will make the textarea lose focus, resuming tab navigation. This seems adequate to me, but I might be wrong.

Had to use the "deprecated" execCommand method, since anything else I tried messes up the undo history. There's a fallback for when (if?) it's actually removed.

Only tested in desktop Firefox and Chrome so far.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4072
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
Co-authored-by: Danko Aleksejevs <danko@very.lv>
Co-committed-by: Danko Aleksejevs <danko@very.lv>
2024-06-15 13:40:31 +00:00
Beowulf
09aa1c57f1
show edit textfield always initially when editing comments
When a comment was added and saved with the preview tab active, the
preview tab is still active, when the comment is edited again.
This adds a "hacky" solution, but it works and is simple.
Every time the edit is "started" and the editor already exists, the tab
with the edit text field gets clicked to activate it.

Fixes #1334
2024-06-14 15:42:21 +02:00
Earl Warren
e99d3f7055
feat(F3): CLI: f3 mirror to convert to/from Forgejo
feat(F3): driver stub

feat(F3): util.Logger

feat(F3): driver compliance tests

feat(F3): driver/users implementation

feat(F3): driver/user implementation

feat(F3): driver/{projects,project} implementation

feat(F3): driver/{labels,label} implementation

feat(F3): driver/{milestones,milestone} implementation

feat(F3): driver/{repositories,repository} implementation

feat(F3): driver/{organizations,organization} implementation

feat(F3): driver/{releases,release} implementation

feat(F3): driver/{issues,issue} implementation

feat(F3): driver/{comments,comment} implementation

feat(F3): driver/{assets,asset} implementation

feat(F3): driver/{pullrequests,pullrequest} implementation

feat(F3): driver/{reviews,review} implementation

feat(F3): driver/{topics,topic} implementation

feat(F3): driver/{reactions,reaction} implementation

feat(F3): driver/{reviewComments,reviewComment} implementation

feat(F3): CLI: f3 mirror

chore(F3): move to code.forgejo.org

feat(f3): upgrade to gof3 3.1.0

repositories in pull requests are represented with a reference instead
of an owner/project pair of names
2024-06-14 12:52:12 +02: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
0ko
367317af6c Disable issue subscribe button for guest users (#4095)
* disabled the button itself, but added the tooltip to the form, because it didn't work for the button and likely has something to do with JS
* added an integration test to verify the new logic

## Preview

|Signed in|Guest|
|-|-|
|![](/attachments/b1441565-6aec-4a72-a28f-6383914c8918)|![](/attachments/839cc58e-18cf-4a5d-a9d7-f0e3e2556c98)|

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4095
Reviewed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
2024-06-11 05:54:35 +00:00
oliverpool
985939c145 test: pkce only for OpenID Connect 2024-06-10 11:24:32 +02:00
Mai-Lapyst
0a7767eaaa [FEAT] Adds x-mode-only anchor styles to display images based if the theme is light or dark mode. (#3985)
Adds a feature similar to this https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/ , by adding styles to elements which `src` or `href` attribute ends with `#light-mode-only` or `#dark-mode-only`. To improve compability, the github variants with the `gh-` prefix are also contained.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3985
Reviewed-by: 0ko <0ko@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-09 10:50:53 +00:00
silverwind
6582f0029b
Add lint-go-gopls (#30729)
Uses `gopls check <files>` as a linter. Tested locally and brings up 149
errors currently for me. I don't think I want to fix them in this PR,
but I would like at least to get this analysis running on CI.

List of errors:
```
modules/indexer/code/indexer.go:181:11: impossible condition: nil != nil
routers/private/hook_post_receive.go:120:15: tautological condition: nil == nil
services/auth/source/oauth2/providers.go:185:9: tautological condition: nil == nil
services/convert/issue.go:216:11: tautological condition: non-nil != nil
tests/integration/git_test.go:332:9: impossible condition: nil != nil
services/migrations/migrate.go:179:24-43: unused parameter: ctx
services/repository/transfer.go:288:48-69: unused parameter: doer
tests/integration/api_repo_tags_test.go:75:41-61: unused parameter: session
tests/integration/git_test.go:696:64-74: unused parameter: baseBranch
tests/integration/gpg_git_test.go:265:27-39: unused parameter: t
tests/integration/gpg_git_test.go:284:23-29: unused parameter: tmpDir
tests/integration/gpg_git_test.go:284:31-35: unused parameter: name
tests/integration/gpg_git_test.go:284:37-42: unused parameter: email
```

(cherry picked from commit 816222243af523316041692622be6f48ef068693)

Conflicts:
	Makefile
	trivial context conflict and also ask renovate to watch over it
	do not include it in lint-backend because the errors are not fixed
2024-06-09 11:13:39 +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
0ko
2599737033 Update instance title in tests 2024-06-08 23:33:55 +05: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
d8319b6cc2 Merge pull request 'test(oauth): RFC 6749 Section 10.2 conformance' (#4032) from earl-warren/forgejo:wip-oauth-public into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4032
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
2024-06-06 10:00:37 +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
592469464b
test(oauth): RFC 6749 Section 10.2 conformance
See:

1b088fade6 Prevent automatic OAuth grants for public clients
07fe5a8b13 use existing oauth grant for public client
2024-06-05 17:50:15 +02:00
Earl Warren
32c882af91
test(oauth): coverage for the redirection of a denied grant
See 886a675f62 Return `access_denied` error when an OAuth2 request is denied
2024-06-05 12:51:44 +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
Lunny Xiao
62448bfb93
Fix push multiple branches error with tests (#31151)
(cherry picked from commit 5c1b550e00e9460078e00c41a32d206b260ef482)

Conflicts:
	tests/integration/git_push_test.go
	trivial context conflict because of
	2ac3dcbd43 test: hook post-receive for sha256 repos
2024-06-02 20:39:42 +02:00
Earl Warren
166bb2861f
tests(api): POST /repos/{owner}/{repo}/push_mirrors coverage 2024-06-02 16:31:41 +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
Earl Warren
793421bf59
tests(integration): add TestPullMergeBranchProtect
Verify variations of branch protection that are in play when merging a
pull request as:

* instance admin
* repository admin / owner
* user with write permissions on the repository

In all cases the result is expected to be the same when merging
the pull request via:

* API
* web

Although the implementations are different.
2024-06-01 23:50:57 +02:00
Earl Warren
e0eba21ab7
test(integration): add protected file to doBranchProtect
A protected file pushed to a protected branch branch is not allowed.
2024-06-01 23:50:57 +02:00
Earl Warren
0d8478b82e
test(integration): refactor doBranchProtectPRMerge
* group test cases to clarify their purpose
* remove pull request branch protection tests, they are redundant
  with TestPullMergeBranchProtect
2024-06-01 23:50:57 +02:00
Earl Warren
20591d966e
test(integration): refactor testPullMerge
* split into testPullMergeForm which can be called directly if
  the caller wants to specify extra parameters.
* testPullMergeForm can expect something different than StatusOK
2024-06-01 23:50:57 +02:00
Earl Warren
49aea9879b
test(integration): refactor doAPIMergePullRequest
* http.StatusMethodNotAllowed can be expected: only retry if the
  error message is "Please try again later"
* split into doAPIMergePullRequestForm which can be called directly if
  the caller wants to specify extra parameters.
2024-06-01 23:50:57 +02:00
Earl Warren
70aa294cc1
test(integration): refactor doProtectBranch
explicitly specify the parameters instead of providing them as
arguments so the caller has a more fine grain control over them.
2024-06-01 23:50:57 +02:00
Earl Warren
4c2ed3c35d
test(integration): add t.Helper() to reduce stack polution
Without the a testify stack is likely to not show the relevant test.
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
b1e04a89be Merge pull request 'Fix localization of release/tag counters on releases page' (#3938) from 0ko/forgejo:i18n-release-page into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3938
2024-05-29 22:06:22 +00:00
0ko
83e6b0c0c6 Fix localization of release/tag counters on releases page 2024-05-29 22:46:36 +05:00
Michael Jerger
2f7f1aab8a fix review 2024-05-29 18:31:06 +02:00
Lunny Xiao
7d7ea45465
Fix automerge will not work because of some events haven't been triggered (#30780)
Replace #25741
Close #24445
Close #30658
Close #20646
~Depends on #30805~

Since #25741 has been rewritten totally, to make the contribution
easier, I will continue the work in this PR. Thanks @6543

---------

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit c6cf96d31d80ab79d370a6192fd761b4443daec2)

Conflicts:
	tests/integration/editor_test.go
	trivial context conflict because of 75ce1e2ac1 [GITEA] Allow user to select email for file operations in Web UI
	tests/integration/pull_merge_test.go
	trivial context conflicts in imports because more tests were added in Forgejo
2024-05-26 19:01:36 +02:00
wxiaoguang
f6e50abd65
Fix data-race during testing (#30999)
Fix #30992

(cherry picked from commit 47accfebbd69e5f47d1b97a3e39cf181fab7e597)

Conflicts:
	models/unit/unit.go
	trivial context conflict because of
	e07b0e75ff Add a direct link from repo header to unit settings
2024-05-26 18:28:26 +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
Earl Warren
509a077ec0 Merge pull request 'mysql: faster user deletion (hook_task query) for mariadb 10' (#3865) from oliverpool/forgejo:join_delete_hook_task into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3865
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-24 12:44:03 +00:00
oliverpool
bb165fadf6 test: check hook_task deletion
move test to integration to ensure Sqlite + MySQL testing
2024-05-24 10:31:41 +02:00
Gergely Nagy
fd9ee1901b
tests: Add a test for code expansion on PRs
This adds a new test case to `TestCompareCodeExpand` to exercise the
case where we're viewing a PR's diff.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-24 10:30:38 +02:00
wxiaoguang
a62a887649
Fix incorrect "blob excerpt" link when comparing files (#31013)
When comparing files between the base repo and forked repo, the "blob
excerpt" link should point to the forked repo, because the commit
doesn't exist in base repo.

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit f48cc501c46a2d34eb701561f01d888d689d60d5)

Conflicts:
	- templates/repo/diff/section_split.tmpl
	- templates/repo/diff/section_unified.tmpl
          Resolved the conflict by picking Gitea's change over ours, and
	  porting it.
	- tests/integration/compare_test.go
	  Kept our test, but picked the "compare all of the relevant
	  links" part of the Gitea test.
2024-05-24 10:08:24 +02:00
Michael Jerger
b01f3bb2a1 federated-star: finalize receive activity (#3871)
PR will finalize the ability to receive a federated star from a remote instance.

This is part of: https://codeberg.org/forgejo/forgejo/pulls/1680

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3871
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-24 00:25:57 +00: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
Clemens
1c24e2dec6 Removed test case from integration test which will be added in a later pr 2024-05-22 12:37:52 +02:00
oliverpool
c19b1cc76d test-sha256: skip push-create
See #3783 why it is hard to support
2024-05-21 21:24:06 +02:00
oliverpool
7e1f7f6a50 test-sha256: GitPushCreate 2024-05-21 21:24:06 +02: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
Earl Warren
fb1338537b Merge pull request '[FEAT] Wiki Search' (#3847) from snematoda/wiki-search-grep into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3847
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-21 06:27:30 +00:00
Mai-Lapyst
d4b1ed859c Port: Fix issue/PR title edit (gitea#30858) (#3797)
This PR ports [gitea#30858](https://github.com/go-gitea/gitea/pull/30858) / [this commit](5c236bd4c0) to forgejo.

[week 2024-20 cherry pick](https://codeberg.org/forgejo/forgejo/pulls/3729)

## Tests
- [ ] Click "edit" to get into edit mode, change the title and then use Alt+Enter to save the title

## Screenshots

Before:
![grafik](/attachments/bb0b2562-7da0-4205-a647-3270d66f2ad7)
![grafik](/attachments/c3d05a21-659d-4616-b357-87de57232182)

After:
![grafik](/attachments/d9af6966-3282-439b-a845-76618a24b9a6)
![grafik](/attachments/5acd6684-69c4-41a4-8e27-7cb75fe3c7e4)

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3797
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
Co-committed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
2024-05-20 23:32:48 +00:00
Léana 江
3561cc710b [I18N] Injected updated time in translation string (#3837)
Hello,

It is more idiomatic to put the date/time before the action in Mandarin (in this context). To achieve this, instead of having the time following the string that's passed to the translating function, I added it as a parameter so that one can reference it and reorder the sentence for better translatability.

Only Traditional Chinese has been changed at the time of opening this PR, as this is more of a proof of concept and I would like to have feedbacks on whether this is a good solution or is there a better alternative.

Thank you and have a nice day :)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3837
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Léana 江 <leana.jiang+git@icloud.com>
Co-committed-by: Léana 江 <leana.jiang+git@icloud.com>
2024-05-20 18:47:35 +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
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
Michael Jerger
b2c3eb1644 add migration & enhance int-test 2024-05-16 18:25:16 +02:00
oliverpool
67effd6985 test-sha256: APICreateFile 2024-05-16 11:01:47 +02:00
oliverpool
df8aaeb1d5 test-sha256: APICreateBranch 2024-05-16 10:54:40 +02:00
oliverpool
348182f4b3 test-sha256: PushDeployKeyOnEmptyRepo 2024-05-16 10:54:40 +02:00
oliverpool
e3e82d02ad test: useless duplication 2024-05-16 09:56:13 +02:00
oliverpool
2ac3dcbd43 test: hook post-receive for sha256 repos
failing push-to-create for sha256 will be fixed in a followup PR
2024-05-15 16:27:00 +02:00
Earl Warren
77092c7a0c Merge pull request 'Federation: Parse ActorId & cache FederationHost' (#3662) from meissa/forgejo:forgejo-federated-parse-actorId into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3662
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-14 22:42:02 +00: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
Earl Warren
1b3e6a4831 Merge pull request '[gitea] week 2024-20 cherry pick (gitea-github/main -> forgejo)' (#3729) from earl-warren/wcp/2024-20 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3729
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
2024-05-14 12:23:10 +00:00
Gergely Nagy
220c3fe3b3
Expand code diffs against the commits repo
When expanding code diffs, the expansion should search for more context
in the commits repo, rather than in the repo in context, because the
commit may not be available in the base repo. For example, when
previewing a pull request, the commit is not in the target repo yet -
it's in the fork.

Fixes #3746.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-14 10:25:28 +02:00
Michael Jerger
fc38e56373 enhance test & fix reviews 2024-05-14 08:24:31 +02:00
Zettat123
8f0f6bf89c
Update issue indexer after merging a PR (#30715)
Fix #30684

(cherry picked from commit f09e68ec33262d5356779572a0b1c66e6e86590f)

Conflicts:
	tests/integration/pull_merge_test.go
	trivial context conflict
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
Michael Jerger
33648f2a4c add second federated instance to integration test 2024-05-10 17:30:34 +02:00
Gergely Nagy
ac4d535dbf
templates: Be more forgiving about missing package metadata
When rendering templates for packages, be more forgiving about missing
metadata. For some repository types - like maven - metadata is uploaded
separately. If that upload fails, or does not happen, there will be no
metadata.

In that case, Forgejo should handle it gracefully, and render as much of
the information as possible, without erroring out. Rendering without
metadata allows one to delete a partial package, while if we throw
errors, that becomes a whole lot harder.

This patch adjusts the generic metadata template, and also the maven
template. There may be more cases of the same problem lying around.

Fixes #3663.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-10 12:07:24 +02:00
Earl Warren
456b82d2bb Merge pull request '[PORT] gitea#29674: Add result check in TestAPIEditUser' (#3686) from algernon/forgejo:gitea/port/29674 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3686
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-05-09 18:35:29 +00:00
yp05327
f81890fa95
Add result check in TestAPIEditUser (#29674)
Fix #29514
There are too many usage of `NewRequestWithValues`, so there's no need
to check all of them.
Just one is enough I think.

(cherry picked from commit ecd1d96f494d2400f7659165ff9376354edda395)

Conflicts:
	- tests/integration/api_admin_test.go
	  Conflict resolved by manually applying the change to
	  `full_name`.
2024-05-09 19:26:21 +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
Earl Warren
3f6e4af5a9 Merge pull request 'UI: Hide hidden email from own profile, again' (#3636) from n0toose/profile/hide-unhidden-hidden-email into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3636
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2024-05-07 10:39:01 +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
0ko
b034ab5a8e [UI] Allow org members to navigate between the org and the dashboard
- add a new button to the org view that is only shown to the org members
- add integration test to verify the expected navigatability
- add a new translation string to that button
- fix display style of "View <orgname>" button on the dashboard
- fix gap size between buttons on the org view by utilizing the common class top-right-buttons
2024-05-05 23:14:57 +05: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
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
wxiaoguang
4e35e5b8ae
Skip gzip for some well-known compressed file types (#30796)
Co-authored-by: silverwind <me@silverwind.io>
(cherry picked from commit be112c1fc30f87a248b30f48e891d1c8c18e8280)

Conflicts:
	routers/web/web.go
	trivial conflict because of https://codeberg.org/forgejo/forgejo/pulls/1533
2024-05-05 12:15:40 +01:00
Panagiotis "Ivory" Vasilopoulos
d03be77665 UI: Hide hidden email from own profile, again
This is a follow-up for 5e1bd8af5f, which
was my first commit to Gitea. It is also a follow up for the
Gitea PR #29300 (https://github.com/go-gitea/gitea/pull/23900) created
by myself, which turned stale.

This change partially restores the behavior of Gitea PR #23747
(https://github.com/go-gitea/gitea/pull/23747) by wxiaoguang, but
maintains the lock.

The original idea was to differentiate things from GitHub and GitLab a
little bit, and show the email address on the profile. The profile is
not only a place where the user chooses to show how they present
themselves on an instance, it is also a place where they can assess
their relationship *with* the instance, as it provides features such
as the Public Activity feed that can be only shown to the user, in
private.

It's, in some way, a dashboard. The email was shown there to remind
the user that this is the primary email that will be used by a supposed
administrator to contact them. There were other motivations behind that
change as well, but, long story short, the idea did not work very well,
as some people (e.g. people livestreaming on the Internet, or 'normal'
users sharing their screens) do not want to put their email address
out there when showing their screen to other people.

Other alternatives, such as blurring the text or only showing the real
email address, were explored, but were rejected because of
browser compatibility and simplicity reasons. The padlock icon that
is shown when showing the email address to other people has been kept.
One viable alternative could be displaying the placeholder email
instead, but that requires some more thought.

Fixes https://codeberg.org/forgejo/forgejo/issues/1950.
2024-05-05 13:08:31 +02: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
6543
51b8d964c8
Get repo assignees and reviewers should ignore deactivated users (#30770) (#30782)
Backport  #30770

If an user is deactivated, it should not be in the list of users who are
suggested to be assigned or review-requested.

old assignees or reviewers are not affected.

---
*Sponsored by Kithara Software GmbH*

(cherry picked from commit f2d8ccc5bb2df25557cc0d4d23f2cdd029358274)

Conflicts:
	models/repo/user_repo_test.go
	because there is one less fixture user compared to Gitea
2024-05-05 08:53:27 +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
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
21911bfe57
Add a test case for unsubscribing from an issue
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-01 11:06:38 +02:00
Gergely Nagy
8cc5d5dc78
tests: Support creating a declarative repo without AutoInit
To be able to easily test cases where the repository does not have any
code, where the git repo itself is completely uninitialized, lets
support a case where the `AutoInit` property is false.

For the sake of backwards compatibility, if the option is not set either
way, it will default to `true`.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-05-01 11:06:38 +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
Earl Warren
ce2becb55e Merge pull request 'feat: implement PKCE when acting as oauth2 client (for user login)' (#3307) from oliverpool/forgejo:pkce into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3307
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-29 10:58:17 +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
fb5e36bc6f
Fixes that the settings button moves in the overflow menu
and the add more button is on the right

This fix moves the settings button back to the right and the add more
button back to the left.
2024-04-28 23:31:31 +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
7517e70740
Use ProtonMail/go-crypto for opengpg in tests (#30736)
(cherry picked from commit 8b8b48ef5fb1c5c164d5534ea4b8049f1db26ce9)

Conflicts:
	go.mod
	trivial context confllict
2024-04-28 15:39:02 +02:00
Chongyi Zheng
781789e779
Replace deprecated math/rand functions (#30733)
Suggested by logs in #30729

- Remove `math/rand.Seed`
`rand.Seed is deprecated: As of Go 1.20 there is no reason to call Seed
with a random value.`
- Replace `math/rand.Read`
`rand.Read is deprecated: For almost all use cases, [crypto/rand.Read]
is more appropriate.`
- Replace `math/rand` with `math/rand/v2`, which is available since Go
1.22

(cherry picked from commit 7b8e418da1e082786b844562a05864ec1177ce97)
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
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
Earl Warren
e8361b3c0e Merge pull request 'Move settings button back to the right in repo and org header' (#3462) from Beowulf/forgejo:move-repo-settings-btn-back-to-right into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3462
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-28 06:20:32 +00: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
Beowulf
f9628f883d
Move settings button back to the right in repo and org header
This will move the settings button back to the right, like known from
older versions.
For this, the overflow-menu was changed when a setting button is
available. If no settings button is available, the behavior will not
change.

Fixes #3301
2024-04-26 23:59:08 +02:00
Earl Warren
c864448dc9 Merge pull request 'services/convert: Convert a Repository's ObjectFormatName too' (#3464) from algernon/forgejo:i-object-exclamationmark-format-name into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3464
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-26 08:27:41 +00:00
Gergely Nagy
2385f3c9db
services/convert: Convert a Repository's ObjectFormatName too
When converting a `repo_model.Repository` to `api.Repository`, copy the
`ObjectFormatName` field too.

Fixes #3458.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-26 09:25:30 +02:00
Earl Warren
4036448c02
fix(ui): /settings/lfs/find 500 error (take 2)
Make the test actually fails on error and not just report failure on
the output and succeed.
2024-04-25 23:00:11 +02: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
302daddcd1 Merge pull request 'Implement remote user login source and promotion to regular user' (#2465) from earl-warren/forgejo:wip-remote-user into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2465
2024-04-25 15:25:05 +00:00
Earl Warren
078229a5e4
fix(ui): /settings/lfs/find 500 error
When in the repository settings, visiting

- `LFS` to `/{owner}/{repo}/settings/lfs`
- `Find pointer files` to `/{owner}/{repo}/settings/lfs/pointers`
- `Find commits` to `/{owner}/{repo}/settings/lfs/find?oid=...`

failed with an error 500 because of an incorrect evaluation of the
template.

Regression introduced by
cbf923e87b

A test is added to visit the page and guard against future
regressions.

Refs: https://codeberg.org/forgejo/forgejo/issues/3438
2024-04-25 16:37:12 +02: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
0d37f3a79b test: empty existing comment 2024-04-25 11:20:04 +02:00
Earl Warren
1e0642b086 Merge pull request 'api: The repo wiki APIs should respect WikiBranch' (#3430) from algernon/forgejo:master-of-branches into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3430
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-25 05:37:25 +00:00
Earl Warren
d0bfd3e523 Merge pull request 'tests: Refactor CreateDeclarativeRepo' (#3432) from algernon/forgejo:declaration-of-repositorytance into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3432
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-24 22:38:14 +00:00
Gergely Nagy
a1dfe07bfc
tests: Test the Wiki APIs with a non-master branch
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-25 00:36:58 +02:00
Gergely Nagy
6d2f645363
tests: Let CreateDeclarativeRepoWithOptions create a Wiki too
Add a new member to `DeclarativeRepoOptions`: `WikiBranch`. If
specified, create a Wiki with the given branch, and a single "Home"
page.

This will be used by an upcoming test.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-25 00:36:58 +02:00
Earl Warren
bdb729a5f2 Merge pull request 'fix(cli): admin user create first user never require a password change' (#3412) from earl-warren/forgejo:wip-cli-user-create into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3412
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
2024-04-24 22:12:05 +00:00
Gergely Nagy
e7fcf3f189
tests: Refactor CreateDeclarativeRepo
Lets introduce a new helper function,
`CreateDeclarativeRepoWithOptions`! This is almost the same as the
existing `CreateDeclarativeRepo` helper, but instead of taking a list of
random parameters the author thought of at the time of its introduction,
it takes a `DeclarativeRepoOptions` struct, with optional members.

This makes it easier to extend the function, as new members can be added
without breaking or having to update existing callsites, as long as the
newly added members default to compatible values.

`CreateDeclarativeRepo` is then reimplemented on top of the new
function. Callsites aren't updated yet, we can do that organically,
whenever touching code that uses the older function.

No new functionality is introduced just yet, this is merely a refactor.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-24 23:39:47 +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
b9424e634f
test(cli): admin user change-password --must-change-password 2024-04-24 15:43:27 +02:00
Earl Warren
eb74846d7d
test(cli): admin user create and must change password value 2024-04-24 15:43:24 +02:00
Earl Warren
c22110cf21 Merge pull request 'Fix user search paging' (#3379) from algernon/forgejo:paging-all-users-exclamationmark into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3379
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-04-22 23:12:28 +00:00
Gergely Nagy
9b85f97835
Fix user search paging
When searching for users, page the results by default, and respect the
default paging limits.

This makes queries like '/api/v1/users/search?limit=1' actually work.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-23 00:06:05 +02:00
Earl Warren
54285319f6
fix(incoming): allow replies to comments
- allow attachments to code comments
- incoming mails from issue comments are now identified as comments

Fixes: https://codeberg.org/forgejo/forgejo/issues/3374
2024-04-23 00:05:12 +02:00