Commit graph

24,590 commits

Author SHA1 Message Date
Renovate Bot
29cac16ea7
Update dependency go to v1.26 2026-03-06 03:58:33 +01:00
Renovate Bot
b8dac67364 Update dependency go to v1.25.8 (forgejo) (#11521)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11521
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-06 03:53:06 +01:00
Renovate Bot
c929c50863 Update dependency katex to v0.16.33 (forgejo) (#11520)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11520
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-06 02:22:14 +01:00
Renovate Bot
3b0b13a882 Update dependency dayjs to v1.11.19 (forgejo) (#11519)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11519
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-06 02:21:15 +01:00
Renovate Bot
0f2f5017a0 Update CodeMirror (forgejo) (#11517)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11517
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-06 01:09:08 +01:00
Oliver Eikemeier
757eb2f267 chore: handle error types consistently (#9873)
Some error types are used inconsistently or wrong:

- `forgejo.org/modules/git.ErrNotExist` is meant to be a value error: <[modules/git/error.go#L23](https://codeberg.org/forgejo/forgejo/src/tag/v13.0.2/modules/git/error.go#L23)>

- `forgejo.org/models/repo.ErrRepoNotExist` is meant to be a value error: <[models/repo/repo.go#L750](https://codeberg.org/forgejo/forgejo/src/tag/v13.0.2/models/repo/repo.go#L750)>

- `errors.Is(logErr, &net.OpError{})` is always `false`: <[services/context/context_response.go#L188](https://codeberg.org/forgejo/forgejo/src/tag/v13.0.2/services/context/context_response.go#L188)>

- `forgejo.org/models/issues.ErrIssueContentHistoryNotExist` is used inconsistently: <[models/issues/content_history.go#L211](https://codeberg.org/forgejo/forgejo/src/tag/v13.0.2/models/issues/content_history.go#L211)>
Decided to use a value, since the structure is small and to be in line with the above errors.

These issued where found with the [errortype](https://codeberg.org/fillmore-labs/errortype) linter and add this to Makefile as part of the linter suite.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9873
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Oliver Eikemeier <eikemeier@fillmore-labs.com>
Co-committed-by: Oliver Eikemeier <eikemeier@fillmore-labs.com>
2026-03-06 00:48:06 +01:00
Renovate Bot
06f0788e00 Update module github.com/markbates/goth to v1.82.0 (forgejo) (#11450)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11450
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-05 23:42:14 +01:00
Renovate Bot
c896f480d4 Update dependency mermaid to v11.12.3 (forgejo) (#11385)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11385
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>
2026-03-05 21:58:26 +01:00
marijnjh
e47957e24c fix: replace reference to Monaco with CodeMirror in app.example.ini (#11507)
Just a small fix in a comment in the example config file.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11507
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: marijnjh <marijnjh@noreply.codeberg.org>
Co-committed-by: marijnjh <marijnjh@noreply.codeberg.org>
2026-03-05 21:32:13 +01:00
Renovate Bot
df9a9cc5e1 Update dependency svgo to v4.0.1 [SECURITY] (forgejo) (#11508)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11508
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-05 14:26:22 +01:00
Renovate Bot
05d98b9729 Update linters (forgejo) (#11448)
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-04 18:23:48 +01:00
Renovate Bot
1d1a5ae5e7 Update dependency @vitest/eslint-plugin to v1.6.9 (forgejo) (#11493)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11493
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-04 16:18:15 +01:00
Mathieu Fenniak
99984dac4d feat: remove admin-level permissions from repo-specific & public-only access tokens (#11468)
This PR is part of a series (#11311).

If the user authenticating to an API call is a Forgejo site administrator, or a Forgejo repo administrator, a wide variety of permission and ownership checks in the API are either bypassed, or are bypassable.  If a user has created an access token with restricted resources, I understand the intent of the user is to create a token which has a layer of risk reduction in the event that the token is lost/leaked to an attacker.  For this reason, it makes sense to me that restricted scope access tokens shouldn't inherit the owner's administrator access.

My intent is that repo-specific access tokens [will only be able to access specific authorization scopes](https://codeberg.org/forgejo/design/issues/50#issuecomment-11093951), probably: `repository:read`, `repository:write`, `issue:read`, `issue:write`, (`organization:read` / `user:read` maybe).  This means that *most* admin access is not intended to be affected by this because repo-specific access tokens won't have, for example, `admin:write` scope.  However, administrative access still grants elevated permissions in some areas that are relevant to these scopes, and need to be restricted:

- The `?sudo=otheruser` query parameter allows site administrators to impersonate other users in the API.
- Repository management rules are different for a site administrator, allowing them to create repos for another user, create repos in another organization, migrate a repository to an arbitrary owner, and transfer a repository to a prviate organization.
- Administrators have access to extra data through some APIs which would be in scope: the detailed configuration of branch protection rules, the some details of repository deploy keys (which repo, and which scope -- seems odd), (user:read -- user SSH keys, activity feeds of private users, user profiles of private users, user webhook configurations).
- Pull request reviews have additional perms for repo administrators, including the ability to dismiss PR reviews, delete PR reviews, and view draft PR reviews.
- Repo admins and site admins can comment on locked issues, and related to comments can edit or delete other user's comments and attachments.
- Repo admins can manage and view logged time on behalf of other users.

A handful of these permissions may make sense for repo-specific access tokens, but most of them clearly exceed the risk that would be expected from creating a limited scope access token.  I'd generally prefer to take a restrictive approach, and we can relax it if real-world use-cases come in -- users will have a workaround of creating an access token without repo-specific restrictions if they are blocked from needed access.

**Breaking:** The administration restrictions introduced in this PR affect both repo-specific access tokens, and existing public-only access tokens.

## 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 for Go changes

(can be removed for JavaScript changes)

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

### 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] This change will be noticed by a Forgejo user or admin (feature, bug fix, performance, etc.). I suggest to include a release note for this change.
    - Although repo-specific access tokens are not yet exposed to end users, the breaking changes to public-only tokens will be visible to users and require release notes.
- [ ] This change is not visible to a Forgejo user or admin (refactor, dependency upgrade, etc.). I think there is no need to add a release note for this change.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11468
Reviewed-by: Andreas Ahlenstorf <aahlenst@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
2026-03-04 16:17:41 +01:00
Renovate Bot
0dd594baca Update github.com/cloudflare/circl (indirect) to v1.6.3 [SECURITY] (forgejo) (#11492)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11492
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-04 16:16:46 +01:00
Gusted
5207594b63 chore: update license test (#11485)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11485
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Reviewed-by: Robert Wolff <mahlzahn@posteo.de>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2026-03-04 16:16:12 +01:00
Michael Kriese
ad6ab32e96 chore(renovate): update config (#11490)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11490
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-committed-by: Michael Kriese <michael.kriese@visualon.de>
2026-03-04 15:20:24 +01:00
nachtjasmin
b21193ee50 chore: use signal.NotifyContext over custom implementation (#10311)
Go 1.16 added the signal.NotifyContext helper utility. `installSignals` could be further inlined in a future iteration, if needed.

When reading the [function documentation](https://pkg.go.dev/os/signal#NotifyContext), it becomes clear that this is doing the exact same thing as the old code.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10311
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: nachtjasmin <nachtjasmin@posteo.de>
Co-committed-by: nachtjasmin <nachtjasmin@posteo.de>
2026-03-04 00:45:38 +01:00
0ko
8d6812df25 fix(ui): use overflow:auto to avoid scrollbars when they are not needed (#11469)
Closes forgejo/forgejo#11407

I looked at related Gitea discussions for when it was implemented and it looks like what to use exactly for `overflow` was not discussed, the intention was just to have overflowing content scroll, not to have irrelevant scrollbars appear at all times.

- https://github.com/go-gitea/gitea/pull/31683
- https://github.com/go-gitea/gitea/issues/31667
- https://github.com/go-gitea/gitea/pull/26561

But with `max-height` restrictions that are in place only horizontal scrollbars are ever needed on demand. Vertical ones are not needed. For this `auto` works much better than `scroll`.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11469
Reviewed-by: Beowulf <beowulf@beocode.eu>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2026-03-04 00:36:54 +01:00
Robert Wolff
d467c2bed7 chore: update licenses and gitignores [skip ci] (#11158)
… by simply running `make generate-license` and `make generate-gitignore` (last time: 9d2fabc7d3)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11158
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Co-authored-by: Robert Wolff <mahlzahn@posteo.de>
Co-committed-by: Robert Wolff <mahlzahn@posteo.de>
2026-03-03 21:42:13 +01:00
Renovate Bot
607f2bb8d7 Update module github.com/valyala/fastjson to v1.6.10 (forgejo) (#11477)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/valyala/fastjson](https://github.com/valyala/fastjson) | `v1.6.7` -> `v1.6.10` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvalyala%2ffastjson/v1.6.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvalyala%2ffastjson/v1.6.7/v1.6.10?slim=true) |

---

### Release Notes

<details>
<summary>valyala/fastjson (github.com/valyala/fastjson)</summary>

### [`v1.6.10`](https://github.com/valyala/fastjson/compare/v1.6.9...v1.6.10)

[Compare Source](https://github.com/valyala/fastjson/compare/v1.6.9...v1.6.10)

### [`v1.6.9`](https://github.com/valyala/fastjson/compare/v1.6.8...v1.6.9)

[Compare Source](https://github.com/valyala/fastjson/compare/v1.6.8...v1.6.9)

### [`v1.6.8`](https://github.com/valyala/fastjson/compare/v1.6.7...v1.6.8)

[Compare Source](https://github.com/valyala/fastjson/compare/v1.6.7...v1.6.8)

</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:eyJjcmVhdGVkSW5WZXIiOiI0My41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjAiLCJ0YXJnZXRCcmFuY2giOiJmb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11477
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-03 21:36:25 +01:00
oliverpool
a0d6970442 fix: prevent panic on gitlab import (releases/issues) (#11282)
It is unfortunately all mixed up, because refreshing the data, means breaking the tests. And changing the code means needing fresh data.

- tests: ignore some more headers and sort the rest when dumping http responses
- code: fixed #10234 by requesting the latest issues first.
- tests: created a new repo to replace the disappeared repo, needed for the skip-numbers test
- refreshed the testdata.
- follow-up fixes to get the tests green.
- including a cherry-pick of https://github.com/go-gitea/gitea/pull/36295 and #11272

Co-authored-by: Joakim Olsson <joakim@unbound.se>
Co-authored-by: Robert Wolff <mahlzahn@posteo.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11282
Reviewed-by: Robert Wolff <mahlzahn@posteo.de>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: patdyn <patdyn@noreply.codeberg.org>
Co-authored-by: oliverpool <git@olivier.pfad.fr>
Co-committed-by: oliverpool <git@olivier.pfad.fr>
2026-03-03 21:36:14 +01:00
Mathieu Fenniak
3d6acf5e8c ci: add semgrep detection for API code ignoring repo-specific access tokens (#11476)
This PR is part of a series (#11311).

Prevents the usage of three internal APIs in the web API code:
- `repo_model.SearchRepoOptions{}` without an `AuthorizationReducer`
- `organization.SearchTeamRepoOptions{}` without an `AuthorizationReducer`
- `access_model.GetUserRepoPermission()`, which doesn't take an `AuthorizationReducer` -- use `GetUserRepoPermissionWithReducer` instead.

A couple lingering usages are marked with `// nosemgrep: ...` as they have been inspected and considered correct as-is.

The `GetUserRepoPermission` is tested via the `.semgrep/tests` files; the other rules have been tested manually.

## 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).

### 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

- [ ] This change will be noticed by a Forgejo user or admin (feature, bug fix, performance, etc.). I suggest to include a release note for this change.
- [x] This change is not visible to a Forgejo user or admin (refactor, dependency upgrade, etc.). I think there is no need to add a release note for this change.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11476
Reviewed-by: Andreas Ahlenstorf <aahlenst@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
2026-03-03 17:55:35 +01:00
forgejo-renovate-action
cfc8a6701a Update dependency swagger-ui-dist to v5.31.1 (forgejo) (#11374) 2026-03-03 02:33:46 +01:00
0ko
a0faae2764 fix(ui/mde): inputs in table/link insertion modals (#11341)
Fixes #11268
Fixes regression of #9614

Calling `initDisabledInputs` wasn't effective for template contents, so inputs in MDEs spawned by repo-legacy.js on comment editing were broken. Now repo-legacy.js also calls it when it spawns a new MDE.

Co-authored-by: Gusted <Gusted@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11341
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2026-03-02 23:32:40 +01:00
Mathieu Fenniak
6bac9e29e7 Revert "fix: ensure actions logs are transferred when a task is done (#10008)" (#11462)
This reverts commit d4951968f0, #10008.

When Forgejo cancels a job server-side, for example due to an additional push to an open PR, it immediately archives the logs from DBFS to disk due to the changes in #10008.  Then, the runner recognizes that the job status is cancelled and it attempts to flush its pending logs to Forgejo, resulting in warnings being logged:

```
forgejo-runner.log:time="2026-02-23T01:32:11+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:11+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:11+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:12+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:13+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:14+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:16+01:00" level=info msg="runner: received shutdown signal"
forgejo-runner.log:time="2026-02-23T01:32:16+01:00" level=info msg="runner: shutdown initiated, waiting [runner].shutdown_timeout=0s for running jobs to complete before shutting down"
forgejo-runner.log:time="2026-02-23T01:32:16+01:00" level=info msg="[poller] shutdown begin, 1 tasks currently running"
forgejo-runner.log:time="2026-02-23T01:32:16+01:00" level=info msg="forcing the jobs to shutdown"
forgejo-runner.log:time="2026-02-23T01:32:18+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
forgejo-runner.log:time="2026-02-23T01:32:24+01:00" level=warning msg="uploading final logs failed, but will be retried: already_exists: log file has been archived" task_id=51
```

This appears to be the cause of the `push-cancel` end-to-end test failing since #10008 was merged.  https://code.forgejo.org/forgejo/end-to-end/actions/runs/4985/jobs/8/attempt/1   The `push-cancel` test case itself seems to succeed, but then the test process aborts with `return 1`.  Doesn't reproduce locally.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11462
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
2026-03-02 15:34:09 +01:00
Renovate Bot
ddcf37fdfe Update module golang.org/x/net to v0.51.0 [SECURITY] (forgejo) (#11447)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11447
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-02 13:56:59 +01:00
Renovate Bot
9803d002ce Update module github.com/SaveTheRbtz/zstd-seekable-format-go/pkg to v0.8.0 (forgejo) (#11451)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11451
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-02 13:37:56 +01:00
jaylinski
cce5f868ce chore(Dockerfile.rootless): remove legacy config file support (#11098)
This legacy support was added in version 8. We now have version 14, so this deprecated feature can be confidently removed.

See dad16cd589 for a detailed explanation.

Docs PR: https://codeberg.org/forgejo/docs/pulls/1740

Co-authored-by: Jakob Linskeseder <jakob@linskeseder.com>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11098
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: jaylinski <jaylinski@noreply.codeberg.org>
Co-committed-by: jaylinski <jaylinski@noreply.codeberg.org>
2026-03-02 06:03:39 +01:00
panc
b921d5bdb3 fix(ui): fix dashboard some style issues (#11461)
1.  Remove excess left and right margins
2. Remove excess bottom margin
3. Fixed the missing top rounded corner when repo is 0

| Before | After |
|----|----|
| ![Screenshot From 2026-02-26 04-02-03](/attachments/37da4f21-ae28-4708-a6be-a3421ebf5717) | ![Screenshot From 2026-02-26 04-01-39](/attachments/20cd29c4-0cb7-49ec-b7bb-99568364b4b7) |
| ![Screenshot From 2026-02-26 04-03-02](/attachments/d238275e-f231-4ae3-8de6-9418452ed6eb) | ![Screenshot From 2026-02-26 04-03-09](/attachments/eed862ef-b1db-46ac-aba0-9ac3089024c7) |
| ![image](/attachments/157bbc3e-2cdc-45c6-b4ca-236b3620f867) | ![Screenshot From 2026-03-01 19-50-41](/attachments/f22d963d-86d7-4c17-831a-307f990b1696) |

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11461
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: panc <pan0xc@foxmail.com>
Co-committed-by: panc <pan0xc@foxmail.com>
2026-03-02 05:04:57 +01:00
AngryDove
44501c80eb feat: add trace logging for oauth2 callback (#11175)
This change is to enable some additional trace logging for oauth2.

Initial setups can be a real pain to debug, and getting JWT back for debug purpose helps a lot i.e. checking claims, roles, groups.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11175
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: AngryDove <angrydove@noreply.codeberg.org>
Co-committed-by: AngryDove <angrydove@noreply.codeberg.org>
2026-03-02 02:08:21 +01:00
Renovate Bot
59447e2171 Update module code.superseriousbusiness.org/exif-terminator to v0.11.1 (forgejo) (#11463)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11463
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-01 23:29:15 +01:00
Renovate Bot
19474cab61 Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.10.1 (forgejo) (#11449)
Co-authored-by: Renovate Bot <bot@kriese.eu>
Co-committed-by: Renovate Bot <bot@kriese.eu>
2026-03-01 23:10:37 +01:00
Mathieu Fenniak
b394e66d5f
docs: add release notes for PR #11458 2026-03-01 10:54:43 -07:00
Mathieu Fenniak
0da4505a49
feat: implement fine-grained access tokens in /repos/issues/search 2026-03-01 10:54:43 -07:00
Mathieu Fenniak
2192184d9b
feat: implement fine-grained access tokens in /repos/search 2026-03-01 10:54:43 -07:00
Mathieu Fenniak
0eca229d15
feat: implement fine-grained access tokens in /teams/{id}/repos
**Breaking*: /teams/{id}/repos previously allowed read access to private
repositories even if a "public-only" access token was in-use.  This has
been restricted to only return public repositories in this case.
2026-03-01 10:54:43 -07:00
Mathieu Fenniak
cac675bc21
feat: implement fine-grained access tokens on /users/{username}/repos & /orgs/{org}/repos
**Breaking**: when using a public-only access tokens, private
repositories were not filtered out by the `/users/{username}/repos` or
`/orgs/{org}/repos` APIs.  This access has been removed in this change.
2026-03-01 10:54:43 -07:00
Mathieu Fenniak
a309db27f2
feat: implement fine-grained access tokens in /user/repos
**Breaking**: a user's own public-only access tokens were previously
visible in the `/users/repos` API.  This access has been removed in this
change.
2026-03-01 10:54:43 -07:00
Mathieu Fenniak
4bd81d3363
feat: add authorization reducer support to SearchRepoOptions 2026-03-01 10:54:43 -07:00
Mathieu Fenniak
e870b9cb74 docs: add release notes for PR #11457 2026-03-01 17:05:53 +01:00
Mathieu Fenniak
b9be4b7648 feat: implement fine-grained access tokens in /repositories/{id}
**Breaking**: accessing the `/repositories/{id}` API with a public-only
access token did not restrict read access to only public repositories.
As part of a consolidation of permission logic with repo-specific access
tokens, this access has not been restricted.
2026-03-01 17:05:53 +01:00
Mathieu Fenniak
bbb7d52fc0 feat: implement fine-grained access tokens in /repos/{owner}/{repo}/pulls/{index}/requested_reviewers 2026-03-01 17:05:53 +01:00
Mathieu Fenniak
f9a2167105 feat: implement fine-grained access tokens in /repos/{owner}/{repo}/pulls & /repos/{owner}/{repo}/compare/{basehead} APIs
As these APIs only work on forks, and it's not possible to change the
visibility of a fork from its parent, only testing the API access
pattern against the head is sufficient.  Also it is not a breaking
change due to checkTokenPublicOnly middleware already enforcing this for
public-only scopes, and the lack of ability to change a fork's
visibility.
2026-03-01 17:05:53 +01:00
Mathieu Fenniak
94dd94c2c0 feat: implement fine-grained access tokens in issue dependency & blocking modification APIs
**Breaking**: Public-only tokens previously had the capability to make
issue dependencies and block issues w/ data from private repositories
through these APIs, which has been revoked by this change to support
fine-grained access tokens.
2026-03-01 17:05:53 +01:00
Mathieu Fenniak
26ffe3106c feat: implement fine-grained access tokens in /repos/{owner}/{repo}/issues/{index}/blocks
**Breaking**: Public-only tokens previously had the capability to view
private repositories through this API, which has been revoked by this
change to support fine-grained access tokens.
2026-03-01 17:05:53 +01:00
Mathieu Fenniak
e4ee1a2756 feat: implement fine-grained access tokens in /repos/{owner}/{repo}/issues/{index}/dependencies
**Breaking**: Public-only tokens previously had the capability to view
private repositories through this API, which has been revoked by this
change to support fine-grained access tokens.
2026-03-01 17:05:53 +01:00
Mathieu Fenniak
0628776cad feat: implement fine-grained access tokens in /repos/{owner}/{repo}/issues/{index}/timeline 2026-03-01 17:05:53 +01:00
Mathieu Fenniak
0c2ece0ae7 feat: implement fine-grained access tokens in /teams/{id}/repos/{org}/{repo}
**Breaking*: /teams/{id}/repos/{org}/{repo} previously allowed read
access to private repositories even if a "public-only" access token was
in-use.  This has been restricted to only return public repositories in
this case.
2026-03-01 17:05:53 +01:00
Mathieu Fenniak
c89504d573 feat: implement fine-grained access tokens in /user/subscriptions & /users/{username}/subscriptions 2026-03-01 17:05:53 +01:00
Mathieu Fenniak
9c748e87e1 feat: implement fine-grained access tokens in /user/starred & /users/{username}/starred 2026-03-01 17:05:53 +01:00