Commit graph

5444 commits

Author SHA1 Message Date
floss4good
51580beaee Merge branch 'forgejo' into report_abuse 2025-03-09 21:15:51 +00:00
floss4good
0a8f59a0ad
Use same wording for organizations as for users. 2025-03-09 23:03:00 +02:00
floss4good
3afae67e11
Introduce new [moderation] ENABLED config (default false).
When defined within app.ini and the value is true, it will be possible to report abusive content.
2025-03-09 22:57:47 +02:00
0ko
58ca578f64 fix(ui): improve milestone/project header consistency (#7174)
The related CSS `milestone-card` is used in 3 places:
* global milestone view `/milestones`
* per-repo milestone view
* per-user/org projects view

The first two had gaps too small basically provided by whitespace. The latter was using an unusually large gap via tailwind.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7174
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2025-03-09 16:24:52 +00:00
0ko
584c504e25 feat(ui): localize theme names (#7168)
Allow translating theme names. Not even for i18n reasons but because this way the menu is clearer and cleaner.

The number of translated entries is kept minimal for now. It is easy to pollute locales with these names otherwise.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7168
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-03-09 15:12:30 +00:00
Gusted
f015c00ecb fix: no notification for replies to pending comments (#7167)
- Replies to pending review comments no longer generate a notification, this was caused by an incomplete determination if the comment was part of the pending review or not.
- The logic was reworked to do the following if it's part of a pending review: It is not a single review and if it's a reply then the comment it is replying to is part of a pending review.
- Added integration test.
- Resolves forgejo/forgejo#7151

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7167
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-03-09 15:07:12 +00:00
Gusted
9073ca8128 fix: revert issue rendering for <a> element (#7171)
- Issue title rendering can lead to nested `<a>` which is incorrect. So
revert a portion of forgejo/forgejo#6715.
- Integration test adjusted
- Resolves forgejo/forgejo#7076

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7171
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-03-09 15:06:16 +00:00
0ko
140b28b60d chore(ui): improve svg icon margin consistency (#7172)
* followup to https://codeberg.org/forgejo/forgejo/pulls/7031#issuecomment-2868277: no visible changes
* followup to https://codeberg.org/forgejo/forgejo/pulls/6963: apply a small margin to the icon

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7172
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2025-03-09 15:05:34 +00:00
0ko
8fce7fbec7 fix(ui): use usual and consistent size for project icons of 16 (#7175)
18px is not a size used for icons often. In these cases it was also inconsistent with most of the UI.

Affected areas:
* `filter_list` - dropdown, filtering repo issues by project
* `filter_actions` - dropdown, mass-editing issues via issue list
* `sidebar/projects` - dropdown in issue view
* `new_form` - dropdown when creating issue. Projects must be enabled in repo

So all areas are dropdowns. I think these were inconsistent because other dropdowns like Reviewers and Milestones use the usual icons of 16px.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7175
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2025-03-09 15:05:24 +00:00
floss4good
24c8d105f1
Repository owners or admins should not see the 'Report content' action. 2025-03-09 16:07:08 +02:00
0ko
49694242d4 chore(ui): always use primary button color inside modals (#7161)
Followup to https://codeberg.org/forgejo/forgejo/pulls/3002
Related to https://codeberg.org/forgejo/forgejo/pulls/6126

This deimplements `ModalButtonColors`.

Nowhere in the UI except for one devtest page modal dialogs paint this button any other color and we don't want new UIs to do that.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7161
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-03-09 07:45:58 +00:00
0ko
4f027fe95a fix(ui): 2fa verify alignment (#7159)
Preview:
* https://codeberg.org/attachments/f64cd5b6-22ae-43f2-a6f1-8fdc4cf30792
* https://codeberg.org/attachments/fa6273d4-268a-4fb6-91f2-03ed2dc4321b

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7159
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-03-08 14:19:36 +00:00
Dmitrii Sharshakov
30982b9e7b feat(auth): add ability to regenerate access tokens (#6963)
- Add the ability to regenerate existing access tokens in the UI. This preserves the ID of the access token, but generates a new salt and token contents.
- Integration test added.
- Unit test added.
- Resolves #6880

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6963
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
Co-committed-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-03-08 10:42:36 +00:00
Otto Richter
9dea54a9d6 Drop SSPI auth support and more Windows files (#7148)
## Dropping SSPI auth support

SSPI authentication relied on Microsoft Windows support, removal started in https://codeberg.org/forgejo/forgejo/pulls/5353, because it was broken anyway. We have no knowledge of any users using SSPI authentication. However, if you somehow managed to run Forgejo on Windows, or want to upgrade from a Gitea version which does, please ensure that you do not use SSPI as an authentication mechanism for user accounts. Feel free to reach out if you need assistance.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7148
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Otto Richter <otto@codeberg.org>
Co-committed-by: Otto Richter <otto@codeberg.org>
2025-03-08 00:43:41 +00:00
floss4good
4bafc9eb02 Merge branch 'forgejo' into report_abuse 2025-03-07 20:26:43 +00:00
Gusted
b10454a00c [gitea] week 2025-10 cherry pick (gitea/main -> forgejo) (#7111)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7111
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2025-03-06 20:39:18 +00:00
floss4good
9b5084ec74 Merge branch 'forgejo' into report_abuse 2025-03-05 23:34:19 +00:00
Litchi Pi
dc7f5d6b84 feat(ui): create a comment aggregator to reduce noise in issues (#6523)
Closes: https://codeberg.org/forgejo/forgejo/issues/6042
Continuation of: https://codeberg.org/forgejo/forgejo/pulls/6284
Replaces: https://codeberg.org/forgejo/forgejo/pulls/6285
Context: https://codeberg.org/forgejo/forgejo/pulls/6284#issuecomment-2518599

Create a new type of comment: `CommentTypeAggregator`

Replaces the grouping of labels and review request in a single place: the comment aggregator

The whole list of comments is "scanned", if they can get aggregated (diff of time < 60secs, same poster, open / close issue, add / del labels, add /del review req), they are added to the aggregator.
Once needed, the list of all the aggregated comments are replaced with a single aggregated comment containing all the data required.

In templates, have a specific HTML rendering part for the comment aggregator, reuse the same rendering as with the other types of comments.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6523
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Litchi Pi <litchi.pi@proton.me>
Co-committed-by: Litchi Pi <litchi.pi@proton.me>
2025-03-05 17:24:51 +00:00
floss4good
75578c64ea Merge branch 'forgejo' into report_abuse 2025-03-05 09:32:00 +00:00
0ko
bb0e26a7b4 fix(ui): use discussions icon in issue list entries (#7099)
So it is consistent with the icon used in the tab with comments.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7099
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2025-03-04 21:37:51 +00:00
silverwind
41e91373d3
Remove superflous tw-content-center (#33741)
(cherry picked from commit 8362a4155929007b8d02b63a2e657557edb08fb9)
2025-03-03 23:39:54 +01:00
Lunny Xiao
670ad6e150
Fix inconsistent closed issue list icon (#33722)
Fixe #33718

Before

![image](https://github.com/user-attachments/assets/2c77e249-a118-4471-8c63-ead4fe0f6336)

After

![image](https://github.com/user-attachments/assets/c082eba8-5b21-4814-b091-c725ca46ccf3)

(cherry picked from commit 74c8e95e87300c74453e6aedd8a41352dbac02f9)
2025-03-03 23:36:25 +01:00
Kerwin Bryant
46d1a0f5c1
Add No Results Prompt Message on Issue List Page (#33699)
(cherry picked from commit 2cd2ae07a7ff267eaa9d2b984d015c58edcb0647)
2025-03-03 23:33:43 +01:00
Gusted
4c641b0fb2 feat: improve incorrect ROOT_URL warning (#7103)
- In the case that the `ROOT_URL` does not match the site a person is visiting Forgejo gives zero guarantees that any of the functionality will still work.
- Make the error i18n, use `local_next`.
- Reflect in the error that the any part of the application can break, don't be specific - it is plain wrong and should not be used.
- Always check for this case on the login page. This was previously only the case if OAuth2 was enabled, but this code was checking for elements that are always present on the login page regardless if the OAuth2 was enabled or not. Technically nothing changed, but reading the code it is now more clear when this check is being run.
- Add E2E testing.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7103
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-03-03 18:05:01 +00:00
floss4good
44e3a7815f Merge branch 'forgejo' into report_abuse 2025-03-03 11:53:33 +00:00
floss4good
39024c6eb7
Add button for reporting organizations. 2025-03-03 13:48:50 +02:00
floss4good
729ac5b9f2
Improve validation and error handling. 2025-03-03 11:52:31 +02:00
floss4good
23fe44db4d
Add CSS classes for moderation new abuse report form. 2025-03-03 09:16:37 +02:00
floss4good
af2c8f763b
some cleanups 2025-03-03 09:03:01 +02:00
0ko
bfd0b645d0 fix(ui): add header to org settings / blocked users page (#7101)
Missing header copied from here:
ed5af44c06/templates/user/settings/blocked_users.tmpl (L3-L5)

Currently not possible to place it in the shared template because only org settings have the separate UI for blocking user.

Preview:
https://codeberg.org/attachments/1f829a11-cb0a-491d-9833-f5984e54301e

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7101
Reviewed-by: Beowulf <beowulf@beocode.eu>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-03-02 13:11:57 +00:00
Litchi Pi
9dd47d932f fix(web): forbid blocked users from reopening issues (#7010)
Closes https://codeberg.org/forgejo/forgejo/issues/6841.

Signed-off-by: Litchi Pi <litchi.pi@proton.me>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7010
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Litchi Pi <litchi.pi@proton.me>
Co-committed-by: Litchi Pi <litchi.pi@proton.me>
2025-03-01 12:39:52 +00:00
floss4good
248e2d3861
Add new 'Report abuse' form and links for user profile, repository page, issues, pulls and comments. 2025-02-28 12:41:00 +02:00
floss4good
bca6ac6f6c Merge branch 'forgejo' into report_abuse 2025-02-28 09:10:41 +00:00
Gusted
2212923de0 [gitea] week 2025-09 cherry pick (gitea/main -> forgejo) (#7031)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7031
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2025-02-27 20:05:48 +00:00
mhughes9
2024031a7a Simplify pronouns in user settings (#6835)
The main change here is to use `datalist` for pronouns This supports
(see also docs[1]):

* Displaying the value already set by the user (if any), otherwise
* Presenting a list of common options to the user, and
* Allowing them to freely enter any value

This setup requires no additional JS and resolves[2].

This is different from the previous flow which used, if JS was available:

* A menu for a default 'recognised' set of pronouns, and if the user
  wanted another value:
* An extra text div if the user wanted to enter custom pronouns

Without JS enabled both the menu and the custom text div would always be
displayed.

This change means there's no longer a distinction between 'custom' and
'recognised' pronouns (this difference looks to have only been made in
code, and not in any data models).

Link: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist [1]
Link: https://codeberg.org/forgejo/forgejo/issues/6774 [2]

Co-authored-by: Matthew Hughes <matthewhughes934@gmail.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6835
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: mhughes9 <mhughes9@noreply.codeberg.org>
Co-committed-by: mhughes9 <mhughes9@noreply.codeberg.org>
2025-02-26 18:46:51 +00:00
floss4good
6ad0f88a45 Merge branch 'forgejo' into report_abuse 2025-02-26 15:25:55 +00:00
Gusted
77a1af5ab8 feat(ui): add quota overview (#6602)
Add UI to the quota feature to see what quotas applies to you and if you're exceeding any quota, it's designed to be a general size overview although it's exclusively filled with quota features for now. There's also no UI to see what item is actually taking in the most size. Purely an quota overview.

Screenshots:
![](https://codeberg.org/attachments/9f7480f2-4c31-4d70-8aec-61db79282a1e)
![](https://codeberg.org/attachments/0bd45bf3-28c5-47bf-8fff-c4ae9f38cb28)

With inspiration from concept by 0ko:
![](https://codeberg.org/attachments/b8154a52-6fba-42fc-a4a8-b3ab1527fb33)

Co-authored-by: Otto Richter <git@otto.splvs.net>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6602
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-02-26 14:36:53 +00:00
Lunny Xiao
e09ea821bd
Add API to support link package to repository and unlink it (#33481)
Fix #21062

---------

Co-authored-by: Zettat123 <zettat123@gmail.com>
(cherry picked from commit 5df9fd3e9c6ae7f848da65dbe9b9d321f29c003a)
2025-02-25 21:41:55 +01:00
Lucas Schwiderski
6dad457552 Improve "URL" handling in markdown editor (#7006)
The button to insert an URL now opens a dialog prompting for the two
components, the URL and the description.
Any existing text selection is taken into account to pre-fill the
description field.

Closes: #6731

![image](/attachments/ca1f7767-5fd6-4c38-8c7a-83d893523de2)

Co-authored-by: Otto Richter <otto@codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7006
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Lucas Schwiderski <lucas@lschwiderski.de>
Co-committed-by: Lucas Schwiderski <lucas@lschwiderski.de>
2025-02-25 20:40:16 +00:00
Otto Richter
3372db660c enh: admin user view (#7062)
- directly click email address
- show prohibited login state

## Testing

- visit admin panel
- visit a user
- click on "view details"
- check that email address is clickable and opens local email editor
- check that "suspended account" status is visible

![](/attachments/251789ec-0cf1-41f9-bffe-48693917c467)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7062
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Otto Richter <git@otto.splvs.net>
Co-committed-by: Otto Richter <git@otto.splvs.net>
2025-02-25 20:37:28 +00:00
Sveinn Thorarinsson
b74a967c92
add spacing between sign in button's icon and text (#33609)
This pull request edits the head_navbar template and adds spacing
between the icon and the text inside the sign in button of the navbar
(button which displays at the top right of Gitea's pages when the user
is not signed in).

It bugged me that there was no spacing between the button's contents so
I test ran this change quickly on my server and thought it looked a lot
better, so decided to make this pull request. Up to you to decide if you
agree that it looks better :)

(cherry picked from commit 62389dd08b620cf0fd76567e0141e8b024c0b62b)
2025-02-25 12:56:32 +01:00
jason19970210
344351b712
enhancement: add additional command hints for PowerShell & CMD (#33548)
- resolving wrong signature calculations for SSH key verification

Fixed #22693

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit e3adb686bb2e6f1ae3adc83a74f40cf1f621c620)
2025-02-25 12:56:32 +01:00
0ko
ea42b1eadb feat(ui): include MIME type for archive links in folder download (#7037)
This is the same PR as https://codeberg.org/forgejo/forgejo/pulls/6959, but for the new links from https://codeberg.org/forgejo/forgejo/pulls/4736.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7037
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
2025-02-24 00:41:15 +00:00
0ko
8d8275caa8 fix(ui): improvements around folder download (#7036)
Followup to 3c68399eb0.

* remove unneeded copy-pasted classes
* fix border radius
* avoid misuse of `.clone-panel` by extending the rule

Preview:
![](https://codeberg.org/attachments/f2add100-6f7c-4b84-bcab-be0fe19bb110)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7036
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2025-02-23 18:46:55 +00:00
floss4good
564477abd0 Merge branch 'forgejo' into report_abuse 2025-02-23 10:41:39 +00:00
JakobDev
3c68399eb0 feat(ui): show link to download directory (#4736)
This adds links to download a directory as archive. This can be useful if you e.g. just want to download a assets directory instead of the full source tree. The logic already exists in the backend, so only the frontend had been changed.

![grafik](https://codeberg.org/attachments/bee69268-ed03-4a05-8505-3d11e977a82c)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4736
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: JakobDev <jakobdev@gmx.de>
Co-committed-by: JakobDev <jakobdev@gmx.de>
2025-02-23 09:23:25 +00:00
0ko
ec35eb2506 feat(ui): welcome screen for user dashboard (#7030)
It is shown when there's no activity in the feed.

This is a partial implementation of https://github.com/go-gitea/gitea/pull/32990.

Differences:
* drawer icon instead of package icon
* h2 instead of h3
* explore links include a link to organizations list
* explore links are hidden for hidden explore sections
* locales are in JSON, I think it's the time to start using it, the hint is simpler and doesn't lie about following users to get their updates in the feed, which isn't a feature yet
* hint uses general hint color instead of input placeholder color
    * the large icon still uses placeholder color, but I think it's ok

Things to improve later:
* use 24px variant of icon. This will require reworking `tools/generate-svg.js`
* the vue part wasn't ported, but it'd be also nice to have

Inspired-by: Kerwin Bryant <kerwin612@qq.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7030
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2025-02-23 08:41:31 +00:00
Shiny Nematoda
cddf608cb9 feat(issue search): query string for boolean operators and phrase search (#6952)
closes #6909

related to forgejo/design#14

# Description

Adds the following boolean operators for issues when using an indexer (with minor caveats)

- `+term`: `term` MUST be present for any result
- `-term`: negation; exclude results that contain `term`
- `"this is a term"`: matches the exact phrase `this is a term`

In all cases the special characters may be escaped by the prefix `\`

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6952
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
2025-02-23 08:35:35 +00:00
floss4good
d40a6fc666 Merge branch 'forgejo' into report_abuse 2025-02-21 17:27:23 +00:00
Sven Steinbauer
f05b960494 Fix invalid swagger syntax of $ref with sibling (#7019)
Ticket #5676 states that the output from `make generate-swagger` is not valid according to the current [OpenAPI specification](https://swagger.io/specification/#path-item-object). In future this [may change](https://swagger.io/specification/#reference-object) but currently this has the effect that the `description` field will be ignored. Removing the description from the type definition of the offending entry will fix the invalid output and have the same end result as before, as the description would have been ignored anyway.

## Checklist
### Tests

No changes to Go (except removal of comment) or Javascript code. Have added the `lint-swagger` task to the CI test run however.

### 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/7019
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Sven Steinbauer <sven@unlogic.co.uk>
Co-committed-by: Sven Steinbauer <sven@unlogic.co.uk>
2025-02-21 14:09:21 +00:00