Commit graph

23391 commits

Author SHA1 Message Date
Earl Warren
447c5789bd fix(ci): add install-minimum-git-version helper for workflows (#8345)
https://codeberg.org/forgejo-integration/forgejo/actions/runs/10592#jobstep-3-14 failed with

> E: Packages were downgraded and -y was used without --allow-downgrades.

Running the tests is done following the instructions in the workflow:

```
# - uncomment [on].pull_request
# - swap 'forgejo-integration' and 'forgejo-coding'
# - open a pull request at https://codeberg.org/forgejo/forgejo and fix things
# - swap 'forgejo-integration' and 'forgejo-coding'
# - comment [on].pull_request
```

The result of the test is available at https://codeberg.org/forgejo/forgejo/actions/runs/85408/jobs/0

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8345
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-06-29 13:04:28 +02:00
floss4good
920f6d24d2 fix: load OldMilestone based on OldMilestoneID, not MilestoneID (#8330)
Fixes #8329

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) 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

- [x] 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.
- [x] I want the title to show in the release notes with a link to this pull request.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8330
Reviewed-by: Robert Wolff <mahlzahn@posteo.de>
Co-authored-by: floss4good <floss4good@disroot.org>
Co-committed-by: floss4good <floss4good@disroot.org>
2025-06-29 12:08:03 +02:00
Renovate Bot
2160741221 Update dependency @vitejs/plugin-vue to v6 (forgejo) (#8341)
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-29 11:50:41 +02:00
Renovate Bot
3feceb10c7 Update dependency @stylistic/eslint-plugin to v5 (forgejo) (#8340)
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-29 11:40:47 +02:00
Renovate Bot
7a881e2f26 Update dependency happy-dom to v18.0.1 (forgejo) (#8337)
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-29 10:59:35 +02:00
Renovate Bot
ad1adabcbb Update linters (forgejo) (#8338)
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-29 09:37:44 +02:00
Renovate Bot
33217a3633 Update dependency @stylistic/stylelint-plugin to v3.1.3 (forgejo) (#8336)
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-29 09:37:43 +02:00
Gusted
84ed8aa740 chore: use standard library function (#8334)
- As mentioned in the comment, use the standard library function now its available.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8334
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-06-29 08:06:38 +02:00
Earl Warren
ba37b69252 feat: make API pull and compare endpoint references to head more robust (#8332)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8332
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-06-29 07:35:47 +02:00
Mathieu Fenniak
b6c6981c30 feat(ui): add repository description to og:image:alt (#8325)
Followup to https://codeberg.org/forgejo/forgejo/pulls/6053

Adds the repository description to the "alt" tag of the OpenGraph summary card, improving accessibility when these images are displayed. Fixes #8192.

Other summary cards, for issues and releases, are not modified as they already contain the issue title or release title, which seems reasonable.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8325
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
2025-06-29 05:54:07 +02:00
Renovate Bot
14309837d4 Update module github.com/niklasfasching/go-org to v1.9.0 (forgejo) (#8335)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8335
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-29 02:52:27 +02:00
Gusted
b5e608f3e2 feat: bump the minimum required Git version from 2.0.0 to 2.34.1 (#8328)
- Resolves forgejo/discussions#324
- Remove all checks of `CheckGitVersionAtLeast` that checked for a version below 2.34.1
- The version was chosen because Debian stable supports 2.39.5 and Ubuntu 22.04 LTS supports 2.34.1

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8328
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-06-29 00:44:18 +02:00
Earl Warren
66e0988a43
feat: make API pull and compare endpoint references to head more robust
It is best to prefix the reference to resolve any ambiguity once it
has been determined that it is a branch or a tag.

It was done in forgejo/forgejo#5991 for the base reference but not for
the head reference.

Refs forgejo/forgejo#5991
2025-06-28 23:30:26 +02:00
Earl Warren
b8e66a5552
feat: improve API /repos/{owner}/{repo}/compare/{basehead} error messages 2025-06-28 23:30:24 +02:00
Earl Warren
a300c0b9fd
chore(cleanup): GitRepo.GetCommit is equivalent to GitRepo.IsBranchExist
Since go-git was dropped in a21128a734,
IsBranchExist relies on git-cat-file to figure out if a commit ID
exists.

There is no need to fallback to GetCommit if IsBranchExist determines
the commit does not exist and it will come to the same conclusion.
2025-06-28 23:30:20 +02:00
Earl Warren
d6e4342353 fix: make API /repos/{owner}/{repo}/compare/{basehead} work with forks (#8326)
- fix: API must use headGitRepo instead of ctx.Repo.GitRepo for comparing
- fix: make API /repos/{owner}/{repo}/compare/{basehead} work with forks
- add test coverage for both fixes and the underlying function `parseCompareInfo`
- refactor and improve part of the helpers from `tests/integration/api_helper_for_declarative_test.go`
- remove a few wrong or misleading comments

Refs forgejo/forgejo#7978

## Note on the focus of the PR

It was initially created to address a regression introduced in v12. But the tests that verify it is fixed discovered a v11.0 bug. They cannot conveniently be separated because they both relate to the same area of code that was previously not covered by any test.

## Note on v11.0 backport

It must be manually done by cherry-picking all commits up to and not including `fix: API must use headGitRepo instead of ctx.Repo.GitRepo for comparing` because it is v12 specific.

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) 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...
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.

### Documentation

- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [x] I do not want this change to show in the release notes.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8326
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-06-28 23:28:12 +02:00
oliverpool
225a0f7026 git/TreeEntry: LinkTarget simplification (#8323)
See #8222 for context.

This PR removes a call to `Blob.GetBlobContent` and `Blob.DataAsync` and unifies symlink resolution:
- length was unlimited in one case
- length was truncated to 1024 chars in the other case

Now it is hard-limited to 4096 chars (ie error if larger), which is a length which seems appropriate according to https://stackoverflow.com/a/22575737.

### Tests

- Tests are already present in `tests/integration/repo_test.go:972`: `TestRepoFollowSymlink` (it caught a cap/len stupid mistake).
- [x] I did not document these changes and I do not expect someone else to do it.
- [x] I do not want this change to show in the release notes.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8323
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: oliverpool <git@olivier.pfad.fr>
Co-committed-by: oliverpool <git@olivier.pfad.fr>
2025-06-27 23:10:09 +02:00
Gusted
6b27fa66b9 chore: sort blocked users list for determistic results (#8320)
- Ref https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5515478

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8320
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-06-27 17:37:29 +02:00
floss4good
69d374435b fix: abuse reports string data types (#8267)
Follow-up of !6977

I was fooled by the fact that for SQLite the columns corresponding to `string` fields were created as `TEXT`; but this is not the case for PostgreSQL and MariaDB/MySQL. According to XORM default mapping rules[^1] _String is corresponding to varchar(255)_.

Therefore `abuse_report`.`remarks` should be of type `VARCHAR(500)` and `abuse_report_shadow_copy`.`raw_value` of type `LONGTEXT`.

### Testing

I have dropped the affected columns (or the entire tables) and checked that for PostgreSQL and MariaDB they are created with the correct type and also manually tested the abusive content reporting functionality in order to make sure that no DB error will be returned if for 'Remarks' a text longer than 255 characters is submitted or when a (big) shadow copy is created.

[^1]: https://xorm.io/docs/chapter-02/4.columns/

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8267
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: floss4good <floss4good@disroot.org>
Co-committed-by: floss4good <floss4good@disroot.org>
2025-06-27 15:47:58 +02:00
Gusted
c085d6c9ac fix: pass doer's ID for CRUD instance signing (#8304)
- When doing CRUD actions, the commiter and author are reconstructed and
do not contain the doer's ID. Make sure to pass this ID along so it can
be used to verify the rules of instance signing for CRUD actions.
- Regression of forgejo/forgejo#7693. It seems that previously this
didn't work correctly as it would not care about a empty ID.
- Resolves forgejo/forgejo#8278

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8304
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Beowulf <beowulf@beocode.eu>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-06-27 15:43:31 +02:00
Lucas Schwiderski
3fb6e17105 fix: add missing trust status to pull review commits (#8296)
Closes: #8293

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) 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.
- I added test coverage for JavaScript changes...
  - [ ] in `web_src/js/*.test.js` if it can be unit tested.
  - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).

### Documentation

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

### Release notes

- [x] 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/8296
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Lucas Schwiderski <lucas@lschwiderski.de>
Co-committed-by: Lucas Schwiderski <lucas@lschwiderski.de>
2025-06-27 15:29:44 +02:00
Michael Jerger
aee161ff25 [gitea] week 2025-19 cherry pick (gitea/main -> forgejo) (#7909)
## Checklist

- [x] go to the last cherry-pick PR (forgejo/forgejo#7804) to figure out how far it went: [gitea@a2024953c5](a2024953c5)
- [x] cherry-pick and open PR (forgejo/forgejo#7909)
- [ ] have the PR pass the CI
- end-to-end (specially important if there are actions related changes)
  - [ ] add `run-end-to-end` label
  - [ ] check the result
- [ ] write release notes
- [ ] assign reviewers
- [ ] 48h later, last call
- merge 1 hour after the last call

## Legend

-  - No decision about the commit has been made.
- 🍒 - The commit has been cherry picked.
-  - The commit has been skipped.
- 💡 - The commit has been skipped, but should be ported to Forgejo.
- ✍️ - The commit has been skipped, and a port to Forgejo already exists.

## Commits

- 🍒 [`gitea`](e92c4f1808) -> [`forgejo`](56fa2caef3) Add missing setting load in dump-repo command ([gitea#34479](https://github.com/go-gitea/gitea/pull/34479))
- 🍒 [`gitea`](7b518bc6c7) -> [`forgejo`](6e5299606a) Change "rejected" to "changes requested" in 3rd party PR review notification ([gitea#34481](https://github.com/go-gitea/gitea/pull/34481))

## TODO

- 💡 [`gitea`](972381097c) Fix url validation in webhook add/edit API ([gitea#34492](https://github.com/go-gitea/gitea/pull/34492))
  Relevant input validation but test needs more backport.
------
- 💡 [`gitea`](59df03b554) Fix get / delete runner to use consistent http 404 and 500 status ([gitea#34480](https://github.com/go-gitea/gitea/pull/34480))
  It may be relevant to Forgejo as well
------
- 💡 [`gitea`](1e2f3514b9) Add endpoint deleting workflow run ([gitea#34337](https://github.com/go-gitea/gitea/pull/34337))
  Actions, it would be worth having in Forgejo as well.
------
- 💡 [`gitea`](5cb4cbf044) Fix repo broken check ([gitea#34444](https://github.com/go-gitea/gitea/pull/34444))
  Check wether this is relevant to us, port if yes.
------
- 💡 [`gitea`](355e9a9d54) Add a webhook push test for dev branch ([gitea#34421](https://github.com/go-gitea/gitea/pull/34421))
  Enhances webhook integration tests.
------
- 💡 [`gitea`](34281bc198) Fix bug webhook milestone is not right. ([gitea#34419](https://github.com/go-gitea/gitea/pull/34419))
  Testcode diverged, port required.
------
- 💡 [`gitea`](780e92ea99) Only git operations should update `last changed` of a repository ([gitea#34388](https://github.com/go-gitea/gitea/pull/34388))
  Port required, would benefit from additional tests.
------
- 💡 [`gitea`](b07e03956a) When updating comment, if the content is the same, just return and not update the databse ([gitea#34422](https://github.com/go-gitea/gitea/pull/34422))
  Codebase diverged, port required.
------
- 💡 [`gitea`](71a1187209) Fix incorrect divergence cache after switching default branch ([gitea#34370](https://github.com/go-gitea/gitea/pull/34370))
  Depends on previous gitea changes, port needed.
------
- 💡 [`gitea`](4c611bf280) Add a button editing action secret ([gitea#34348](https://github.com/go-gitea/gitea/pull/34348))
  This is an interesting feature and it has tests as well. Feature request covering this: https://codeberg.org/forgejo/forgejo/issues/7882
------
- 💡 [`gitea`](2fbc8f9e87) Fix LFS file not stored in LFS when uploaded/edited via API or web UI ([gitea#34367](https://github.com/go-gitea/gitea/pull/34367))
  Our code diverged - pls. check relevance & maybe port.
------
- 💡 [`gitea`](020e774b91) feat: add label 'state' to metric 'gitea_users' ([gitea#34326](https://github.com/go-gitea/gitea/pull/34326))
  Adjust our existing tests while porting this.
------

## Skipped

-  [`gitea`](ec10c6ba5a) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](d89eed998f) Fix edithook api can not update package, status and workflow_job events ([gitea#34495](https://github.com/go-gitea/gitea/pull/34495))

  - gitea actions specific specific
------
-  [`gitea`](b6c0667474)  Add R-HNF to the TRANSLATORS file ([gitea#34494](https://github.com/go-gitea/gitea/pull/34494))

  - gitea translators update specific
------
-  [`gitea`](6fbf0e6738) nix flake update ([gitea#34476](https://github.com/go-gitea/gitea/pull/34476))

  - gitea dependency update specific
------
-  [`gitea`](c24f4b3d29) Add migrations tests ([gitea#34456](https://github.com/go-gitea/gitea/pull/34456))
------
-  [`gitea`](bf338bb9e2) Fix project board view ([gitea#34470](https://github.com/go-gitea/gitea/pull/34470))

  - gitea ui specific specific
------
-  [`gitea`](319d03fbc0) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](dd500ce559) Fix Workflow run Not Found page ([gitea#34459](https://github.com/go-gitea/gitea/pull/34459))

  - gitea actions specific specific
------
-  [`gitea`](b6bf128f1e) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](a0595add72) Fix remove org user failure on mssql ([gitea#34449](https://github.com/go-gitea/gitea/pull/34449))
------
-  [`gitea`](b5fd3e7210) Fix comment textarea scroll issue in Firefox ([gitea#34438](https://github.com/go-gitea/gitea/pull/34438))

  - gitea ui specific specific
------
-  [`gitea`](4011e2245b) Fix releases sidebar navigation link ([gitea#34436](https://github.com/go-gitea/gitea/pull/34436))

  - gitea ui specific specific
------
-  [`gitea`](0902d42fc7) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](4a98ab0540) Remove legacy template helper functions ([gitea#34426](https://github.com/go-gitea/gitea/pull/34426))

  - gitea specific specific
------
-  [`gitea`](9b8609e017) Fix GetUsersByEmails ([gitea#34423](https://github.com/go-gitea/gitea/pull/34423))

  - gitea specific specific
------
-  [`gitea`](0f63a5ef48) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](ad271444e9) Fix a bug when uploading file via lfs ssh command ([gitea#34408](https://github.com/go-gitea/gitea/pull/34408))
  :skiP: present with PR #7752
------
-  [`gitea`](8b16ab719c) Merge and tweak markup editor expander CSS ([gitea#34409](https://github.com/go-gitea/gitea/pull/34409))

  - gitea ui specific specific
------
-  [`gitea`](2ecd73d2e5) Bump `@github/relative-time-element` to v4.4.8 ([gitea#34413](https://github.com/go-gitea/gitea/pull/34413))

  - gitea dependency update specific
------
-  [`gitea`](179068fddb) Refactor commit message rendering and fix bugs ([gitea#34412](https://github.com/go-gitea/gitea/pull/34412))

  - gitea ui specific specific
------
-  [`gitea`](44aadc37c9) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](f63822fe64) Fix autofocus behavior ([gitea#34397](https://github.com/go-gitea/gitea/pull/34397))

  - gitea ui specific specific
------
-  [`gitea`](82071ee730) [skip ci] Updated translations via Crowdin
------
-  [`gitea`](bbfc21e74f) Fix "The sidebar of the repository file list does not have a fixed height #34298" ([gitea#34321](https://github.com/go-gitea/gitea/pull/34321))

  - gitea ui specific specific
------
-  [`gitea`](dd886d729f) Update JS and PY dependencies ([gitea#34391](https://github.com/go-gitea/gitea/pull/34391))

  - gitea dependency update specific
------
-  [`gitea`](2a660b4a1b) Upgrade go-github v61 -> v71 ([gitea#34385](https://github.com/go-gitea/gitea/pull/34385))

  - gitea dependency update specific
------
-  [`gitea`](6bd8fe5353) Bump `@github/relative-time-element` to v4.4.7 ([gitea#34384](https://github.com/go-gitea/gitea/pull/34384))

  - gitea dependency update specific
------

<details>
<summary><h2>Stats</h2></summary>

<br>

Between [`gitea@a2024953c5`](a2024953c5) and [`gitea@ec10c6ba5a`](ec10c6ba5a), **41** commits have been reviewed. We picked **2**, skipped **27**, and decided to port **12**.

</details>

Co-authored-by: Sebastian Weigand <s.weigand.phy@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7909
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>
2025-06-27 13:59:07 +02:00
Robert Wolff
76b3f4cd6a test: prevent XSS for label rendering 2025-06-27 13:27:06 +02:00
Robert Wolff
1b9ac27578 feat(ui): add issue comment assignment doer links 2025-06-27 13:17:34 +02:00
Gusted
a2e7446fe7 chore: use eventually for mysql collation test (#8301)
- Regression of removing `time.Sleep(5 * time.Second)` in forgejo/forgejo#7917.
- Ref: https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5532035

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8301
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-06-27 11:44:59 +02:00
oliverpool
7ad20a2730 git/blob: GetContentBase64 with fewer allocations and no goroutine (#8297)
See #8222 for context.i

`GetBlobContentBase64` was using a pipe and a goroutine to read the blob content as base64. This can be replace by a pre-allocated buffer and a direct copy.

Note that although similar to `GetBlobContent`, it does not truncate the content if the blob size is over the limit (but returns an error). I think that `GetBlobContent` should adopt the same behavior at some point (error instead of truncating).

### Tests

- I added test coverage for Go changes...
  - [x] in their respective `*_test.go` for unit tests.
- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [x] I do not want this change to show in the release notes.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8297
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: oliverpool <git@olivier.pfad.fr>
Co-committed-by: oliverpool <git@olivier.pfad.fr>
2025-06-27 11:22:10 +02:00
Danko Aleksejevs
184e068f37 feat: show more relevant results for 'dependencies' dropdown (#8003)
- Fix issue dropdown breaking when currently selected issue is included in results.
- Add `sort` parameter to `/issues/search` API.
- Sort dropdown by relevance.
- Make priority_repo_id work again.
- Added E2E test.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8003
Reviewed-by: Shiny Nematoda <snematoda@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Danko Aleksejevs <danko@very.lv>
Co-committed-by: Danko Aleksejevs <danko@very.lv>
2025-06-26 20:06:21 +02:00
David Rotermund
be3c659b51 Merge branch 'forgejo' into upload_with_path_structure 2025-06-26 12:50:04 +02:00
Codeberg Translate
414199fc66 i18n: update of translations from Codeberg Translate (#8238)
Translations update from [Codeberg Translate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

It also includes following components:

* [Forgejo/forgejo-next](https://translate.codeberg.org/projects/forgejo/forgejo-next/)

Current translation status:

![Weblate translation status](https://translate.codeberg.org/widget/forgejo/forgejo/horizontal-auto.svg)

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

## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Localization
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8238): <!--number 8238 --><!--line 0 --><!--description aTE4bjogdXBkYXRlIG9mIHRyYW5zbGF0aW9ucyBmcm9tIENvZGViZXJnIFRyYW5zbGF0ZQ==-->i18n: update of translations from Codeberg Translate<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8238
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Robert Wolff <mahlzahn@posteo.de>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-committed-by: Codeberg Translate <translate@codeberg.org>
2025-06-26 10:44:26 +02:00
Renovate Bot
aee5e1fb94 Update module github.com/jhillyerd/enmime/v2 to v2.2.0 (forgejo) (#8254)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/jhillyerd/enmime/v2](https://github.com/jhillyerd/enmime) | `v2.1.0` -> `v2.2.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjhillyerd%2fenmime%2fv2/v2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjhillyerd%2fenmime%2fv2/v2.1.0/v2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>jhillyerd/enmime (github.com/jhillyerd/enmime/v2)</summary>

### [`v2.2.0`](https://github.com/jhillyerd/enmime/releases/tag/v2.2.0)

[Compare Source](https://github.com/jhillyerd/enmime/compare/v2.1.0...v2.2.0)

#### What's Changed

- chore: bump golangci to last 1.x release by [@&#8203;jhillyerd](https://github.com/jhillyerd) in https://github.com/jhillyerd/enmime/pull/368
- chore: fix linter warnings by [@&#8203;jhillyerd](https://github.com/jhillyerd) in https://github.com/jhillyerd/enmime/pull/370
- chore: bump golangci to 2.x by [@&#8203;jhillyerd](https://github.com/jhillyerd) in https://github.com/jhillyerd/enmime/pull/369
- chore: bump go deps by [@&#8203;jhillyerd](https://github.com/jhillyerd) in https://github.com/jhillyerd/enmime/pull/371
- build(deps): bump golangci/golangci-lint-action from 7 to 8 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/jhillyerd/enmime/pull/373
- Switch to fork of html2text for tablewriter 1.0 by [@&#8203;jhillyerd](https://github.com/jhillyerd) in https://github.com/jhillyerd/enmime/pull/375
- Release for go 1.23 support by [@&#8203;jhillyerd](https://github.com/jhillyerd) in https://github.com/jhillyerd/enmime/pull/376

**Full Changelog**: https://github.com/jhillyerd/enmime/compare/v2.1.0...v2.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xLjMiLCJ1cGRhdGVkSW5WZXIiOiI0MS4xLjMiLCJ0YXJnZXRCcmFuY2giOiJmb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8254
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-26 08:49:20 +02:00
Renovate Bot
d3c712fe2a Lock file maintenance (forgejo) (#8257)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8257
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-26 02:27:54 +02:00
Otto
4a1f4acf76 fix(ui): release: name is overridden with tag name on edit (#8002)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8002
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2025-06-26 01:22:48 +02:00
Earl Warren
30bfa13308 git/blob: refactor line-counting logic (#8270)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8270
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-06-26 01:09:01 +02:00
Gusted
507a12bf82 Revert "fix(api): document is_system_webhook field (#7784)" (#8286)
The field is not part of the struct, it is instead part of the config field. See https://codeberg.org/forgejo/forgejo/pulls/7784#issuecomment-5511212

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8286
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-06-26 00:36:18 +02:00
Renovate Bot
69bd7a1f1b Update dependency mermaid to v11.7.0 (forgejo) (#8249)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8249
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-06-25 23:58:26 +02:00
Bente Groh
7ab27a7a7f fix(ui): add missing lazy load attribute to images (#8246)
closes #8076

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8246
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: Bente Groh <mail@bentegroh.de>
Co-committed-by: Bente Groh <mail@bentegroh.de>
2025-06-25 18:31:03 +02:00
oliverpool
2bca029f6f chore(ci): testSleep: show actual times on failures (#8271)
I just experienced a spurious error on `testSleep`.
The current assertion only showed `expected false to be truthy`. With this PR it should show the actual elapsed time (to be able to knowingly adjust the expected delay).

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8271
Reviewed-by: floss4good <floss4good@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: oliverpool <git@olivier.pfad.fr>
Co-committed-by: oliverpool <git@olivier.pfad.fr>
2025-06-25 15:58:55 +02:00
Earl Warren
8844b6b8e5
chore: 12.0 is now stable (take 2) 2025-06-25 06:41:35 +02:00
forgejo-release-manager
9e966ac91f chore: 12.0 is now stable 2025-06-25 06:24:12 +02:00
Robert Wolff
6d4554b01c chore: update security option in issue templates (#8268)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8268
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Robert Wolff <mahlzahn@posteo.de>
Co-committed-by: Robert Wolff <mahlzahn@posteo.de>
2025-06-24 19:02:12 +02:00
oliverpool
6ed62c14d3 move blobLineCount to disencentive its usage 2025-06-24 17:36:13 +02:00
oliverpool
744363597d test: before refatoring count function 2025-06-24 17:36:13 +02:00
oliverpool
7a6b5b6dd9 blame: count lines without reading blob 2025-06-24 17:36:13 +02:00
0ko
7086e7a9ac feat(ui): redesign user profile actions layout (#7906)
Related: https://codeberg.org/forgejo/forgejo/pulls/3950#issue-785253, https://codeberg.org/forgejo/forgejo/pulls/3950#issuecomment-1998551.

## Links in dropdown

* move _admin only_ User details link here, give it always-visible text
* add new _self only_ Edit profile link here
* move RSS feed link here
* add new Atom feed link here, previously unadvertised
* add new SSH keys link here (`.keys`), previously unadvertised
* add new GPG keys link here (`.gpg`), previously unadvertised
* move Block/Unblock button here
* move Report abuse link here

If primary action is available (Follow/Unfollow), dropdown with more actions goes after it. If not, it is in line with followers, in place where RSS feed button used to be.

## New dropdown

Related: https://codeberg.org/forgejo/design/issues/23, https://codeberg.org/forgejo/forgejo/issues/3853, https://codeberg.org/0ko/forgejo/issues/2.

Implemented a new dropdown: noJS-usable, JS-enhanced for better keyboard navigation and a11y.
Styling is mostly same as the existing ones have, but row density depends on `@media` pointer type.

My choice of CSS properties have been influenced of these:
* 72a3adb16b
* 51dd2293ca

Inspired-by: KiranMantha <kiranv.mantha@gmail.com>
Inspired-by: Lucas Larroche <lucas@larroche.com>
Co-authored-by: Beowulf <beowulf@beocode.eu>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7906
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2025-06-24 14:16:51 +02:00
Danko Aleksejevs
f7d7d67238 fix: Token.ParseIssueReference crashing on empty string (#8260)
A fix for a bug introduced by me earlier, where attempting to parse an issue reference in an empty token would crash.

An empty token occurs if the search string is `\` or `"` (among other scenarios, probably). I'll make another PR that avoids having empty tokens (seems like a good idea).

### Tests

- I added test coverage for Go changes...
  - [x] in their respective `*_test.go` for unit tests.

### Documentation

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

### Release notes

- [x] 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/8260
Reviewed-by: Shiny Nematoda <snematoda@noreply.codeberg.org>
Co-authored-by: Danko Aleksejevs <danko@very.lv>
Co-committed-by: Danko Aleksejevs <danko@very.lv>
2025-06-24 06:52:36 +02:00
Robert Wolff
0b24915271 feat(ui): add links to milestones and projects in issue comments (#7992)
add links to the comments that appear in issue when changing milestones and projects

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7992
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: Robert Wolff <mahlzahn@posteo.de>
Co-committed-by: Robert Wolff <mahlzahn@posteo.de>
2025-06-23 23:31:51 +02:00
Beowulf
43fb63a063
fix(ui): release: name is overridden with tag name on edit
Fixes #8001

Regression: f66a6b12cd
2025-06-23 19:11:43 +02:00
0ko
049cda526b feat(ui): use kbd in label selector hint, remove enter (#8199)
Rel: https://codeberg.org/forgejo/forgejo/pulls/7958

Also remove Enter from the hint as it is not working right now, ref https://codeberg.org/forgejo/forgejo/issues/1335#issuecomment-1073523

Preview:
* https://codeberg.org/attachments/b8eb7525-2bbe-4216-97f5-bc10aee1f3e2
* https://codeberg.org/attachments/37e3734e-0f51-4a8b-add6-7bc0e0a5ad6b

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8199
Reviewed-by: Beowulf <beowulf@beocode.eu>
2025-06-23 17:56:28 +02:00
David Rotermund
c3b559b79b Merge branch 'forgejo' into upload_with_path_structure
Some checks failed
Integration tests for the release process / release-simulation (push) Has been cancelled
2025-06-23 17:23:40 +02:00
Danko Aleksejevs
39e6785da0 fix(ui): erroneous list continuation on Cmd+Enter on macOS (#8153) (#8170)
The line continuation code in the Markdown editor ignored Enter presses if Ctrl, Alt or Shift were being held. This now also accounts for Cmd on macOS (which browsers represent as metaKey).

### Tests

- Use Safari (on macOS)
- create a new issue in a repository
- start writing a list (with - one[enter]- two)
- now press Cmd+Enter
- verify that while the form is being submitted, no new line got visually added

***

The visual evidence of this bug is a race condition (form is being edited while also being submitted) and I don't think a reliable cross-browser E2E test is possible.

Bugged and fixed behavior verified manually on an actual Macbook in current Safari. Specifically,

* Before the fix: pressing Cmd+Enter submits the form *and* inserts a newline + list prefix in the markdown editor.  Reporter had the changed content submitted, I only saw it submit the original (but the change was visible during submission).
* After the fix: Cmd+Enter only submits the form. Enter with no modifiers inserts newlines/prefixes as before.

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] 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.
- [x] 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/8170
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: Danko Aleksejevs <danko@very.lv>
Co-committed-by: Danko Aleksejevs <danko@very.lv>
2025-06-23 15:21:15 +02:00