Commit graph

18213 commits

Author SHA1 Message Date
Lunny Xiao
894d9b2836
Move context from modules to services (#29440)
Since `modules/context` has to depend on `models` and many other
packages, it should be moved from `modules/context` to
`services/context` according to design principles. There is no logic
code change on this PR, only move packages.

- Move `code.gitea.io/gitea/modules/context` to
`code.gitea.io/gitea/services/context`
- Move `code.gitea.io/gitea/modules/contexttest` to
`code.gitea.io/gitea/services/contexttest` because of depending on
context
- Move `code.gitea.io/gitea/modules/upload` to
`code.gitea.io/gitea/services/context/upload` because of depending on
context

(cherry picked from commit 29f149bd9f517225a3c9f1ca3fb0a7b5325af696)

Conflicts:
	routers/api/packages/alpine/alpine.go
	routers/api/v1/repo/issue_reaction.go
	routers/install/install.go
	routers/web/admin/config.go
	routers/web/passkey.go
	routers/web/repo/search.go
	routers/web/repo/setting/default_branch.go
	routers/web/user/home.go
	routers/web/user/profile.go
	tests/integration/editor_test.go
	tests/integration/integration_test.go
	tests/integration/mirror_push_test.go
	trivial context conflicts
	also modified all other occurrences in Forgejo specific files
2024-03-06 12:10:43 +08:00
silverwind
75f7be2aac
Apply tailwindcss rules with !important (#29437)
As per discussion in https://github.com/go-gitea/gitea/pull/29423, I
think this is the right way that does not burden developers having to
think about CSS precedence which should be irrelevant with an atomic CSS
framework.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit e55926ebfe88d6ee079842967dc7dccc2a9cdbf2)
2024-03-06 12:10:43 +08:00
wxiaoguang
8f3ef5aa71
Fix mail template error (#29410)
(cherry picked from commit eb2fc1818b00b7ca6f8c21bb490a8e8be1e62f9a)
2024-03-06 12:10:43 +08:00
Yarden Shoham
ef95d1d533
Fix htmx rendering the login page in frame on session logout (#29405)
- Fix #29391

With this change, htmx will not follow the redirect in the AJAX request
but instead redirect the whole browser.

To reproduce the bug fixed by this change without waiting a long time
for the token to expire, you can logout in another tab then look in the
original tab. Just make sure to comment out both instances of
`window.location.href = appSubUrl` in the codebase so you won't be
redirected immediately on logout. This is what I did in the following
gifs.

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 324626a11c041208b003ee64e33000b223994662)
2024-03-06 12:10:43 +08:00
yp05327
76070599f9
Ignore empty repo for CreateRepository in action notifier (#29416)
Fix #29415

(cherry picked from commit 403766cd81697288804fd218d68c458c6aa5b73d)
2024-03-06 12:10:43 +08:00
yp05327
480c61432a
Fix logic error from #28138 (#29417)
There's a miss in #28138:

![image](https://github.com/go-gitea/gitea/assets/18380374/b1e0c5fc-0e6e-44ab-9f6e-34bc8ffbe1cc)

https://github.com/go-gitea/gitea/pull/28138/files#diff-2556e62ad7204a230c91927a3f2115e25a2b688240d0ee1de6d34f0277f37dfeR162

@lunny
Not sure about the impact of this, but it will only effect 1.22, and
maybe we should fix it ASAP.

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
(cherry picked from commit f8c1efe944c539396402fb014bbfdb67ba199ef2)
2024-03-06 12:10:43 +08:00
Earl Warren
d311e5c0b0
Include resource state events in Gitlab downloads (followup)
See also: [GITEA] Enable mocked HTTP responses for GitLab migration test

make GITLAB_READ_TOKEN=XXXX GO_TEST_PACKAGES='code.gitea.io/gitea/services/migrations/... -test.v' FLAGS= 'test#TestGitlabDownloadRepo'

to update the captured GitLab HTTP requests used for offline testing.
2024-03-06 12:10:43 +08:00
Sebastian Brückner
bc7a247b9e
Include resource state events in Gitlab downloads (#29382)
Some specific events on Gitlab issues and merge requests are stored
separately from comments as "resource state events". With this change,
all relevant resource state events are downloaded during issue and merge
request migration, and converted to comments.

This PR also updates the template used to render comments to add support
for migrated comments of these types.

ref: https://docs.gitlab.com/ee/api/resource_state_events.html
(cherry picked from commit 17f170ee3724d8bdf2ddaad4211b12433f78ff0e)
2024-03-06 12:10:43 +08:00
GiteaBot
a98d786f12
[skip ci] Updated translations via Crowdin
(cherry picked from commit f38888bc7834899777bda1a271e166d3836524cf)
2024-03-06 12:10:42 +08:00
Earl Warren
e8fe5e9b0f Merge pull request '[CI] pin go v1.21.8 version' (#2567) from earl-warren/forgejo:wip-ci-go-action into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2567
2024-03-06 04:10:02 +00:00
techknowlogick
2c26b187ea
bump protobuf module (#29617)
(cherry picked from commit 06039bf0b7ec4dffe74ae323b8bbbbedec69d0c8)
2024-03-06 11:39:07 +08:00
Earl Warren
ac0f58035f
[CI] pin go v1.21.8 version
Because setup-go fails to pick it up.

Refs: https://github.com/actions/setup-go/issues/462
2024-03-06 11:38:47 +08:00
Earl Warren
96f9673640
[CI] do not hardcode the Forgejo release in end-to-end testing (part 2)
The absence of origin-ref must be the empty string '', not 'false'
2024-03-06 09:09:19 +08:00
Earl Warren
d2f24a5a16 Merge pull request '[CI] do not hardcode the Forgejo release in end-to-end testing' (#2564) from earl-warren/forgejo:wip-ci-end-to-end into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2564
2024-03-05 20:01:32 +00:00
Earl Warren
d257fa179b
[CI] do not hardcode the Forgejo release in end-to-end testing
Now that Forgejo has its own release number, use the Makefile as a
reference.

Also document and improve support for debugging this
pull_request_target workflow by using a branch in the repository.
2024-03-06 03:15:07 +08:00
Earl Warren
7d6e43079f Merge pull request 'Add gitignore template for Janet projects' (#2557) from firefly-cpp/forgejo:gitignore-for-janet into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2557
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-03-05 08:08:55 +00:00
Iztok Fister Jr.
209060139d Add gitignore template for Janet projects 2024-03-04 15:13:10 +01:00
Earl Warren
21b1381e36 Merge pull request 'Move migration functions to services layer - port of gitea#29497' (#2546) from algernon/forgejo:gitea/port/29497 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2546
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-03-04 10:01:26 +00:00
Earl Warren
c510b7a4a1 Merge pull request 'Display tag name as title for a tag with no release [gitea]' (#2547) from algernon/forgejo:gitea/port/tag-name-as-title-if-no-release into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2547
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-03-04 09:56:43 +00:00
Gergely Nagy
f9894f4c51
A release title should always be a link
This partially reverts c41b2c73ef: for the
sake of consistency, the title of a release should always be a link,
whether it's a tag-only release or not.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-03-04 08:29:11 +01:00
Gergely Nagy
19ff532d42
Test that tags without a release display properly
Update the `TestTagViewWithoutRelease` test case with another assert:
one that checks that the release title is properly displayed.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-03-04 08:29:11 +01:00
Lunny Xiao
c41b2c73ef
Display tag name as title for a tag with no release 2024-03-04 07:41:49 +01:00
Lunny Xiao
ff8cb299d1
Move migration functions to services layer (#29497) 2024-03-04 07:10:53 +01:00
Codeberg Translate
41b4884085 [I18N] Translations update from Weblate (#2521)
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

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

Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: TheAwiteb <a@4rs.nl>
Co-authored-by: mondstern <mondstern@monocles.de>
Co-authored-by: flactwin <flac_twin@keemail.me>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: Salif Mehmed <mail@salif.eu>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Wuzzy <wuzzy@disroot.org>
Co-authored-by: fnetX <otto@codeberg.org>
Co-authored-by: zenobit <zen@osowoso.xyz>
Co-authored-by: Dirk <dirk@0x7be.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2521
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-03-04 01:58:49 +00:00
Earl Warren
f0f556bee9 Merge pull request '[TESTS] enable AddFixtures in unit tests' (#2541) from earl-warren/forgejo:wip-add-fixture into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2541
2024-03-03 03:56:20 +00:00
Earl Warren
ad547edf3b
[TESTS] enable AddFixtures in unit tests
Use setting.AppWorkPath instead of filepath.Dir(setting.AppPath). It
is the common denominator between:

* models/unittest/testdb.go:MainTest
* tests/test_utils.go:InitTest

which makes it usable in unit tests as well as integration tests.
2024-03-03 11:11:26 +08:00
Earl Warren
3f68525ae4 Merge pull request '[BUG] Fix header name in swagger response' (#2526) from gusted/forgejo-header into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2526
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-03-02 21:16:11 +00:00
Gusted
83b6e59718 Merge pull request 'Accessibility: Focus styling and fix Watch/Unwatch buttons' (#2379) from fnetx/accessibility into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2379
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-03-02 19:16:47 +00:00
Gusted
c559dcddf0 Merge pull request '[FEAT] Show follow symlink button' (#2530) from gusted/forgejo-follow-symlink into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2530
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-03-02 17:23:18 +00:00
Gusted
c63b52c126
[FEAT] Show follow symlink button
- When a user goes opens a symlink file in Forgejo, the file would be
rendered with the path of the symlink as content.
- Add a button that is shown when the user opens a *valid* symlink file,
which means that the symlink must have an valid path to an existent
file and after 999 follows isn't a symlink anymore.
- Return the relative path from the `FollowLink` functions, because Git
really doesn't want to tell where an file is located based on the blob ID.
- Adds integration tests.
2024-03-02 17:58:09 +01:00
Earl Warren
0bba571f5b Merge pull request '[RELEASE] publish container images tagged with the major version' (#2538) from earl-warren/forgejo:wip-release-publish into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2538
2024-03-02 14:45:18 +00:00
Otto Richter
88f68850b5 Accessibility: Watch & Star on small screens
The elements were hidden on small screens to preserve space and the
icons still conveyed the meaning for users with intact eye vision.
However, the names were no longer exposed to screen readers, and their
users usually cannot obtain the meaning from the icons.

Adding aria-labels to the affected templates results in certain
complexity due to the DOM, so instead I decided to use some accessible
CSS tricks to move the content off the screen instead of hiding it. It
should remain accessible for most screen readers.
2024-03-02 14:31:10 +01:00
Otto Richter
4d2c019b5a Add focus styling to most button types
While it might be favourable to have distinct focus and hover styling,
having no focus styling at all makes keyboard navigation very difficult.

Some people consider :focus to be equal to a keyboard-driven :hover, so
I'm moving the focus pseudo-classes from being a no-op to adding the
hover styling.
2024-03-02 14:31:10 +01:00
Otto Richter
30e0b2f851 Label and focus styling for mobile menu button 2024-03-02 14:31:10 +01:00
Gusted
92c1ff76ea Merge pull request 'Make settings tab not active when on repository "Add units" tab' (#2524) from hazy/forgejo:add-more-active into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2524
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-03-02 12:32:01 +00:00
Gusted
abe3351187 Merge pull request '[BUG] Allow to select commit email for file updload/delete' (#2383) from 0ko/forgejo:fix-commit-del into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2383
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-03-02 12:00:45 +00:00
Earl Warren
9e662fe2cd
[RELEASE] publish container images tagged with the major version
Now that semantic versions are used, the major version must be used
instead of major.minor to distinguish releases with breaking changes.

Before:

Forgejo v1.21.1-0, tags 1.21.1-0 and 1.21
Forgejo v1.21.2-0, tags 1.21.2-0 and 1.21
Forgejo v1.22.1-0, tags 1.22.1-0 and 1.22

After

Forgejo v7.0.0 tags 7.0.0 and 7
Forgejo v7.0.1 tags 7.0.1 and 7
Forgejo v7.1.2 tags 7.1.2 and 7
Forgejo v8.0.1 tags 8.0.1 and 8
2024-03-02 19:48:28 +08:00
Gusted
2658d4361e
[BUG] Disable CODEOWNERS for forked repositories
- Disable the CODEOWNERS feature for forked repositories, as it would
otherwise inadvertently request reviewers when for example a pull
request is opened against a forked repository to propose changes to an
existant pull request in the original repository.
- Adds integration test.
- Resolves #2525
2024-03-01 23:19:18 +01:00
Gusted
9ce3068f36 Merge pull request '[BUG] Ensure HasIssueContentHistory takes into account comment_id' (#2518) from gusted/forgejo-default-value-sql-error into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2518
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
2024-03-01 14:48:06 +00:00
Gusted
eadcbcf7d1 Merge pull request '[BUG] Sort file list case insensitively' (#2522) from gusted/forgejo-sort-file-list into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2522
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
2024-03-01 13:58:38 +00:00
Gusted
86b46085c7
[BUG] Sort file list case insensitively
- Make the sorting done on the entries list case insensitive.
- Adds integration test.
- Resolves #317
2024-02-29 21:14:06 +01:00
Gusted
a4fa0f985f Merge pull request '[I18N] Improve registration / password reset emails' (#2529) from n0toose/service-email-improvements into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2529
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-02-29 20:07:22 +00:00
Panagiotis "Ivory" Vasilopoulos
f7c26a4491 [I18N] Improve registration / password reset emails
This change does not introduce any new strings, but improves upon some
existing ones.
2024-02-29 19:53:17 +01:00
Gusted
331fa44956
[BUG] Ensure HasIssueContentHistory takes into account comment_id
- The content history table contains the content history of issues and
comments. For issues they are saved with an comment id of zero.
- If you want to check if the issue has an content history, it should
take into account that SQL has `comment_id = 0`, as it otherwise could
return incorrect results when for example the issue already has an
comment that has an content history.
- Fix the code of `HasIssueContentHistory` to take this into account, it
relied on XORM to generate the SQL from the non-default values of the
struct, this wouldn't generate the `comment_id = 0` SQL as `0` is the
default value of an integer.
- Remove an unncessary log (it's not the responsibility of `models`
code to do logging).
- Adds unit test.
- Resolves #2513
2024-02-29 18:23:06 +01:00
Earl Warren
32a0afe8b7 Merge pull request '[SEMVER] X.Y.Z+A.B.C replaced with X.Y.Z+gitea-A.B.C' (#2514) from earl-warren/forgejo:wip-semantic-gitea into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2514
2024-02-29 15:59:48 +00:00
Gusted
42ae3d3d81
[BUG] Fix header name in swagger response
- This was incorrectly copied from the `swaggerCommitList` struct, which
on the other hand does set `X-Total`, but the API handler that uses this
response only sets `X-Total-Count`.
2024-02-29 14:08:10 +01:00
hazycora
6e6ebe4857
Make settings tab not active when on repository units tab 2024-02-28 21:17:53 -06:00
Gusted
d0e5af7079 Merge pull request '[UI] Actions: Link to Workflow in View' (#1866) from n0toose/forgejo:forgejo-add-workflow-link into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1866
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-02-28 17:28:16 +00:00
Earl Warren
07b99560cc
[SEMVER] X.Y.Z+A.B.C replaced with X.Y.Z+gitea-A.B.C
Gitea versions are

* A.B.C
* A.B.C+rc-0
* A.B.C+dev-5-g4fb9056

If Forgejo versions are:

* X.Y.Z+A.B.C
* X.Y.Z-rc0+A.B.C
* X.Y.Z-dev-1232-g4fb905687+A.B.C

It is non trivial for a client trying to sort out if the server
responding to `/api/v1/version` is Forgejo or Gitea. The Forgejo
version changes to be:

* X.Y.Z+gitea-A.B.C
* X.Y.Z-rc0+gitea-A.B.C
* X.Y.Z-dev-1232-g4fb905687+gitea-A.B.C

and a client can now:

* Split the version with +
* If the second part (the metadata) exists and contains "gitea", the
  answer server is Forgejo
* Otherwise it is Gitea
2024-02-28 15:57:48 +01:00
Earl Warren
7af1349c1d Merge pull request '[BUG] Correct changed files for codeowners' (#2507) from gusted/forgejo-codeowner-diff into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2507
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
2024-02-28 12:15:49 +00:00