#6602 - feat(ui): add quota overview - forgejo/forgejo - Codeberg.org
forgejo
forgejo
Fork
You've already forked forgejo
737
Code
Issues
1.3k
Pull requests
153
Projects
Releases
100
Packages
Activity
Actions
82
feat(ui): add quota overview
#6602
Merged
0ko
merged 2 commits from
gusted/forgejo-size-overview
into
forgejo
2025-02-26 15:37:11 +01:00
AGit
Conversation
29
Commits
Files changed
24
+348
-33
Gusted
commented
2025-01-17 22:21:40 +01:00
Owner
Copy link
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
Release notes
User Interface features
PR
: feat(ui): add quota overview
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


## Release notes
- User Interface features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/6602): feat(ui): add quota overview
Screen Shot 2025-01-17 at 22.21.47.png
41 KiB
Screen Shot 2025-02-11 at 22.41.17.png
42 KiB
❤️
Gusted
2025-01-17 22:21:40 +01:00
added the
enhancement/feature
forgejo/ui
test
needed
labels
requested reviews from
0ko
caesar
crystal
fnetX
algernon
Gusted
changed title from
feat(ui): add size overview
to
feat(ui): add quota overview
2025-01-17 22:27:58 +01:00
fnetX
commented
2025-01-17 23:11:08 +01:00
Owner
Copy link
I can take care of frontend testing using playwright (screenshot assertions, basically) if some test data is available.
I can take care of frontend testing using playwright (screenshot assertions, basically) if some test data is available.
Gusted
commented
2025-01-18 06:25:43 +01:00
Author
Owner
Copy link
I can take care of frontend testing using playwright (screenshot assertions, basically) if some test data is available.
afaik there's no test data in the fixtures. So it will need to be added, I can do that.
> I can take care of frontend testing using playwright (screenshot assertions, basically) if some test data is available.
afaik there's no test data in the fixtures. So it will need to be added, I can do that.
Gusted
force-pushed gusted/forgejo-size-overview from
8bb8527815
Some checks failed
issue-labels / backporting (pull_request_target)
Has been skipped
Details
issue-labels / cascade (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 1m4s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / backend-checks (pull_request)
Failing after 2m36s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
requirements / merge-conditions (pull_request)
Failing after 2s
Details
to
4b42c23a76
Some checks failed
requirements / merge-conditions (pull_request)
Failing after 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 1m16s
Details
testing / backend-checks (pull_request)
Successful in 3m39s
Details
testing / test-unit (pull_request)
Successful in 7m6s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m27s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m31s
Details
testing / test-e2e (pull_request)
Successful in 9m42s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m13s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m11s
Details
testing / test-mysql (pull_request)
Successful in 23m47s
Details
testing / test-sqlite (pull_request)
Successful in 26m21s
Details
testing / test-pgsql (pull_request)
Failing after 30m1s
Details
testing / security-check (pull_request)
Has been skipped
Details
2025-01-18 06:31:58 +01:00
Compare
0ko
reviewed
2025-01-18 08:24:23 +01:00
templates/org/settings/navbar.tmpl
@ -44,0 +45,4 @@
{{ctx.Locale.Tr "settings.size_overview"}}
{{end}}
0ko
commented
2025-01-18 08:24:23 +01:00
Owner
Copy link
Move it before blocked users?
Move it before blocked users?
Gusted
commented
2025-01-19 05:37:31 +01:00
Author
Owner
Copy link
What would be the reason for that? I don't mind either way.
What would be the reason for that? I don't mind either way.
0ko
commented
2025-01-19 06:23:58 +01:00
Owner
Copy link
Originally I wanted to propose this because usually in a lot of services I would expect Blocked users to be somewhere at the bottom of something, but now I looked at all those platforms and found myself being incorrect.
Reordering can be skipped in this PR and be thought of again more deeply with some refactor.
Originally I wanted to propose this because usually in a lot of services I would expect Blocked users to be somewhere at the bottom of something, but now I looked at all those platforms and found myself being incorrect.
Reordering can be skipped in this PR and be thought of again more deeply with some refactor.
0ko
marked this conversation as resolved
0ko
reviewed
2025-01-18 08:27:00 +01:00
templates/shared/quota_overview.tmpl
@ -0,0 +27,4 @@
{{range
idx
subject
:= .Subjects}}
subject
) "/"
rule
Limit
}}%; background-color: hsl({{call $.Color
subject
}}, 50%, 75%)" data-tooltip-placement="top" data-tooltip-content="{{call $.PrettySubject
subject
}}
{{ctx.Locale.TrSize ($.SizeUsed.CalculateFor
subject
)}}" data-tooltip-follow-cursor="horizontal">
0ko
commented
2025-01-18 08:26:59 +01:00
Owner
Copy link
May be hidden when unlimited.
May be hidden when unlimited.
0ko
commented
2025-01-18 08:31:18 +01:00
Owner
Copy link
Setting minimum display size for items to 3 or 5 percent would make it look better (and possible to hover?). It's kind of advanced, feel free to ignore.
Setting minimum display size for items to 3 or 5 percent would make it look better (and possible to hover?). It's kind of advanced, feel free to ignore.
Gusted
commented
2025-01-19 05:41:25 +01:00
Author
Owner
Copy link
It's fine to do that, but there's an edge case if there's 1% 1% 98%, then the added total will be more than 100% and if the 1% values are the last items then it will simply not been shown. I think it might make sense to sort these values on their percentage and then based on that show the first scaled 3-5% and then the rest (in an increasing order), although if there are many scaled subjects, the biggest subject might not be shown. A lot of edge cases here :/
It's fine to do that, but there's an edge case if there's 1% 1% 98%, then the added total will be more than 100% and if the 1% values are the last items then it will simply not been shown. I think it might make sense to sort these values on their percentage and then based on that show the first scaled 3-5% and then the rest (in an increasing order), although if there are many scaled subjects, the biggest subject might not be shown. A lot of edge cases here :/
Gusted
commented
2025-01-19 05:51:31 +01:00
Author
Owner
Copy link
Ah well technically if a quota is exceeded it only would show the first exceeded subject, so part of a larger issue then. I'm scaling it to 1%
Ah well technically if a quota is exceeded it only would show the first exceeded subject, so part of a larger issue then. I'm scaling it to 1%
0ko
commented
2025-01-19 06:27:10 +01:00
Owner
Copy link
think
the idea behind that is to scale sub 3% items to 3% and then scale down all other items to the rest of the empty space. As long as there aren't many objects the slight visual wrongness of items' scale shouldn't be confusing.
I _think_ the idea behind that is to scale sub 3% items to 3% and then scale down all other items to the rest of the empty space. As long as there aren't many objects the slight visual wrongness of items' scale shouldn't be confusing.
Gusted
commented
2025-01-19 06:52:00 +01:00
Author
Owner
Copy link
and then scale down all other items to the rest of the empty space
That would show the portions, but not that e.g. for this rule I am almost exceeded the quota.
> and then scale down all other items to the rest of the empty space
That would show the portions, but not that e.g. for this rule I am almost exceeded the quota.
0ko
marked this conversation as resolved
0ko
commented
2025-01-18 08:27:07 +01:00
Owner
Copy link
I can take care of UI adjustments if needed. On the first peek looks good.
I can take care of UI adjustments if needed. On the first peek looks good.
0ko
reviewed
2025-01-18 08:34:22 +01:00
options/locale/locale_en-US.ini
@ -1045,6 +1047,26 @@ user_unblock_success = The user has been unblocked successfully.
user_block_success
The user has been blocked successfully.
user_block_yourself
You cannot block yourself.
quota.applies_to_user
The following quota rules apply to you
0ko
commented
2025-01-18 08:34:22 +01:00
Owner
Copy link
s/you/your account
separate string for "this organization" (to make translators of languages like Greek happier)
* s/you/your account
* separate string for "this organization" (to make translators of languages like Greek happier)
Gusted
marked this conversation as resolved
Gusted
force-pushed gusted/forgejo-size-overview from
4b42c23a76
Some checks failed
requirements / merge-conditions (pull_request)
Failing after 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 1m16s
Details
testing / backend-checks (pull_request)
Successful in 3m39s
Details
testing / test-unit (pull_request)
Successful in 7m6s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m27s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m31s
Details
testing / test-e2e (pull_request)
Successful in 9m42s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m13s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m11s
Details
testing / test-mysql (pull_request)
Successful in 23m47s
Details
testing / test-sqlite (pull_request)
Successful in 26m21s
Details
testing / test-pgsql (pull_request)
Failing after 30m1s
Details
testing / security-check (pull_request)
Has been skipped
Details
to
c1db1e8739
Some checks failed
requirements / merge-conditions (pull_request)
Failing after 3s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 51s
Details
testing / backend-checks (pull_request)
Failing after 2m0s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 4m48s
Details
2025-01-19 05:52:17 +01:00
Compare
Gusted
force-pushed gusted/forgejo-size-overview from
c1db1e8739
Some checks failed
requirements / merge-conditions (pull_request)
Failing after 3s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 51s
Details
testing / backend-checks (pull_request)
Failing after 2m0s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 4m48s
Details
to
64bc8e45e2
Some checks failed
testing / frontend-checks (pull_request)
Successful in 1m22s
Details
requirements / merge-conditions (pull_request)
Failing after 3s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / backend-checks (pull_request)
Successful in 3m39s
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 5m35s
Details
testing / test-unit (pull_request)
Successful in 5m38s
Details
testing / test-e2e (pull_request)
Successful in 7m41s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m17s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m16s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m18s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m19s
Details
testing / test-mysql (pull_request)
Successful in 18m19s
Details
testing / test-sqlite (pull_request)
Successful in 20m43s
Details
testing / test-pgsql (pull_request)
Successful in 24m2s
Details
testing / security-check (pull_request)
Successful in 2m42s
Details
2025-01-19 05:53:14 +01:00
Compare
Gusted
force-pushed gusted/forgejo-size-overview from
64bc8e45e2
Some checks failed
testing / frontend-checks (pull_request)
Successful in 1m22s
Details
requirements / merge-conditions (pull_request)
Failing after 3s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / backend-checks (pull_request)
Successful in 3m39s
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 5m35s
Details
testing / test-unit (pull_request)
Successful in 5m38s
Details
testing / test-e2e (pull_request)
Successful in 7m41s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m17s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m16s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m18s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m19s
Details
testing / test-mysql (pull_request)
Successful in 18m19s
Details
testing / test-sqlite (pull_request)
Successful in 20m43s
Details
testing / test-pgsql (pull_request)
Successful in 24m2s
Details
testing / security-check (pull_request)
Successful in 2m42s
Details
to
64b8c7262b
Some checks failed
testing / frontend-checks (pull_request)
Successful in 54s
Details
testing / backend-checks (pull_request)
Successful in 2m57s
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 5m59s
Details
testing / test-unit (pull_request)
Successful in 5m41s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m12s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m12s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m15s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m15s
Details
testing / test-e2e (pull_request)
Successful in 12m29s
Details
testing / test-mysql (pull_request)
Successful in 18m35s
Details
testing / test-sqlite (pull_request)
Successful in 21m1s
Details
testing / test-pgsql (pull_request)
Successful in 24m57s
Details
testing / security-check (pull_request)
Successful in 1m9s
Details
requirements / merge-conditions (pull_request)
Failing after 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
2025-01-19 06:17:55 +01:00
Compare
Gusted
commented
2025-01-19 06:18:17 +01:00
Author
Owner
Copy link
@fnetX
I've added quota fixtures to E2E in
64bc8e45e2..64b8c7262b
, it only applies for user2. It should look like the following:
@fnetX I've added quota fixtures to E2E in https://codeberg.org/forgejo/forgejo/compare/64bc8e45e2848961bfad749f0c1bd500132ff64e..64b8c7262ba94747ebdfc5a416751d638a99280d, it only applies for user2. It should look like the following:

image.png
18 KiB
0ko
referenced this pull request
2025-01-19 10:18:55 +01:00
[FEAT] Storage usage visualization
#3339
Gusted
changed title from
feat(ui): add quota overview
to
WIP: feat(ui): add quota overview
2025-01-23 10:04:45 +01:00
0ko
reviewed
2025-02-08 18:00:48 +01:00
templates/shared/quota_overview.tmpl
@ -0,0 +22,4 @@
{{if eq
rule
Limit
-1}}
{{ctx.Locale.Tr "settings.quota.rule.no_limit"}}
0ko
commented
2025-02-08 18:00:45 +01:00
Owner
Copy link
Seems to mostly cause uneven x/y margins on the most generic view w/ unconfigured quotas. Why is it here?
Seems to mostly cause uneven x/y margins on the most generic view w/ unconfigured quotas. Why is it here?
Gusted
commented
2025-02-08 18:07:47 +01:00
Author
Owner
Copy link
This is to ensure somewhat consistent spacing between unlimited (limit == -1) and limited rules. As unlimited does not have the bar showing the usage.
This is to ensure somewhat consistent spacing between unlimited (limit == -1) and limited rules. As unlimited does not have the bar showing the usage.
0ko
commented
2025-02-08 18:12:24 +01:00
Owner
Copy link
Makes sense.
Suggestion
, feel free to discard though.
Makes sense. [Suggestion](https://codeberg.org/0ko/forgejo/commit/c1275e210e050b915fb05817778346f9240aac1a), feel free to discard though.
Gusted
marked this conversation as resolved
0ko
reviewed
2025-02-08 18:23:44 +01:00
web_src/css/repo.css
@ -2048,2 +2048,3 @@
repository
repository-summary
segment
language-stats
repository
repository-summary
segment
language-stats
size-overview
segment
has
bar
0ko
commented
2025-02-08 18:23:44 +01:00
Owner
Copy link
This rule applies bad radius (needs to be fully round), and gap and white-space are unused. Add a separate one:
0ko/forgejo@6a3719691e
This rule applies bad radius (needs to be fully round), and gap and white-space are unused. Add a separate one:
0ko
commented
2025-02-08 20:27:13 +01:00
Owner
Copy link
Here's a bit cleaner way of assigning properties to subjects, with a bit different oklch-based color chooser. The colors are less washed out, look good on both light and dark themes, and might cause some weird satisfaction when realized that they all have normalized lightness and saturation. It's less compatible, but 1.5 years of browser support including FF ESR seems plenty.
size-overview
bar
width
calc
max
var
--
size
overview
bar
width
)));
background-color
oklch
80
30
var
--
size
overview
bar
hue
));
style="--size-overview-bar-width: {{Eval 100.0 "*" ($.SizeUsed.CalculateFor $subject) "/" $rule.Limit}}%; --size-overview-bar-hue: {{call $.Color $subject}}deg"
Here's a bit cleaner way of assigning properties to subjects, with a bit different oklch-based color chooser. The colors are less washed out, look good on both light and dark themes, and might cause some weird satisfaction when realized that they all have normalized lightness and saturation. It's less compatible, but 1.5 years of browser support including FF ESR seems plenty.
```css
.size-overview .bar {
width: calc(max(1%, var(--size-overview-bar-width)));
background-color: oklch(80% 30% var(--size-overview-bar-hue));
```
```html
style="--size-overview-bar-width: {{Eval 100.0 "*" ($.SizeUsed.CalculateFor $subject) "/" $rule.Limit}}%; --size-overview-bar-hue: {{call $.Color $subject}}deg"
```
0ko
commented
2025-02-08 20:43:26 +01:00
Owner
Copy link
The CI will likely not like the usage of "undefined variables", sometimes we can't have nice things. So you can just use the different function in place.
The CI will likely not like the usage of "undefined variables", sometimes we can't have nice things. So you can just use the different function in place.
Gusted
force-pushed gusted/forgejo-size-overview from
64b8c7262b
Some checks failed
testing / frontend-checks (pull_request)
Successful in 54s
Details
testing / backend-checks (pull_request)
Successful in 2m57s
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 5m59s
Details
testing / test-unit (pull_request)
Successful in 5m41s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m12s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m12s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m15s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m15s
Details
testing / test-e2e (pull_request)
Successful in 12m29s
Details
testing / test-mysql (pull_request)
Successful in 18m35s
Details
testing / test-sqlite (pull_request)
Successful in 21m1s
Details
testing / test-pgsql (pull_request)
Successful in 24m57s
Details
testing / security-check (pull_request)
Successful in 1m9s
Details
requirements / merge-conditions (pull_request)
Failing after 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
to
243fd61021
Some checks failed
testing / frontend-checks (pull_request)
Successful in 1m0s
Details
testing / backend-checks (pull_request)
Successful in 3m16s
Details
testing / test-unit (pull_request)
Successful in 5m50s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m14s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m14s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m14s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m14s
Details
testing / test-e2e (pull_request)
Successful in 12m29s
Details
testing / test-mysql (pull_request)
Successful in 19m30s
Details
testing / test-sqlite (pull_request)
Successful in 21m40s
Details
testing / test-pgsql (pull_request)
Successful in 25m2s
Details
testing / security-check (pull_request)
Successful in 1m8s
Details
requirements / merge-conditions (pull_request)
Failing after 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
2025-02-08 18:24:27 +01:00
Compare
fnetX
reviewed
2025-02-11 19:59:27 +01:00
tests/e2e/e2e_test.go
@ -37,6 +37,7 @@ func TestMain(m *testing.M) {
defer
cancel
tests
InitTest
true
setting
Quota
Enabled
true
fnetX
commented
2025-02-11 19:59:27 +01:00
Owner
Copy link
I think this should be replicated for the e2e debug server, because otherwise it is not convenient to write any tests for this feature, debug tests or simply play with the feature.
I think this should be replicated for the e2e debug server, because otherwise it is not convenient to write any tests for this feature, debug tests or simply play with the feature.
Gusted
commented
2025-02-11 20:05:47 +01:00
Author
Owner
Copy link
e2e debug server will already run this code.
e2e debug server will already run this code.
fnetX
commented
2025-02-11 20:24:16 +01:00
Owner
Copy link
My bad. I was looking for the menu and couldn't find it. Confirms my point below :)
My bad. I was looking for the menu and couldn't find it. Confirms my point below :)
Gusted
marked this conversation as resolved
fnetX
reviewed
2025-02-11 20:11:14 +01:00
fnetX
left a comment
Copy link
I think the menu should be modified. I see two options:
My preference: Quota overview is in the Repositories section of the user sidebar. It is above the actual repo list, or the repo list is on a separate page.
The menu item is named "Storage overview" and possible moved up so it is below repositories (not hierarchical, but in logical order)
"size overview" kinda sounds weird to me, tbh.
I think the menu should be modified. I see two options:
- My preference: Quota overview is in the Repositories section of the user sidebar. It is above the actual repo list, or the repo list is on a separate page.
- The menu item is named "Storage overview" and possible moved up so it is below repositories (not hierarchical, but in logical order)
"size overview" kinda sounds weird to me, tbh.
fnetX
commented
2025-02-11 20:15:35 +01:00
Owner
Copy link
would it make sense to show exceeded quota by having the actual usage be the scale of the bar graphs, and then show the actual usage as a subset of this? This would allow to visualize how far you exceed the quota (is it only 1% over or 20 times the size you are allowed to take up?).
would it make sense to show exceeded quota by having the actual usage be the scale of the bar graphs, and then show the actual usage as a subset of this? This would allow to visualize how far you exceed the quota (is it only 1% over or 20 times the size you are allowed to take up?).
Untitled.png
21 KiB
fnetX
commented
2025-02-11 20:16:56 +01:00
Owner
Copy link
For accessibility reasons and a simple overview, I would recommend to show a calculation at the right, e.g.
512 MiB / 4.7 GiB
8 KiB / 512 B
For accessibility reasons and a simple overview, I would recommend to show a calculation at the right, e.g.
512 MiB / 4.7 GiB
8 KiB / 512 B
fnetX
commented
2025-02-11 20:19:54 +01:00
Owner
Copy link
I wonder if it is possible to expand the details by clicking on it similar to how the programming language stats are shown for repositories, this would also help with accessibility if they are read by screen readers by default. Currently, I'm unable to extract the information on how much I use with the help of a screen reader at all.
Potentially, the things could even become clickable, so when expanded, "Attachments" allows you to visit a page that allows you to review the size of your attachments. The solution sounds "future-proof" in that sense :)
I wonder if it is possible to expand the details by clicking on it similar to how the programming language stats are shown for repositories, this would also help with accessibility if they are read by screen readers by default. Currently, I'm unable to extract the information on how much I use with the help of a screen reader at all.
Potentially, the things could even become clickable, so when expanded, "Attachments" allows you to visit a page that allows you to review the size of your attachments. The solution sounds "future-proof" in that sense :)
Gusted
commented
2025-02-11 20:20:51 +01:00
Author
Owner
Copy link
@fnetX
wrote in
#6602 (comment)
would it make sense to show exceeded quota by having the actual usage be the scale of the bar graphs, and then show the actual usage as a subset of this? This would allow to visualize how far you exceed the quota (is it only 1% over or 20 times the size you are allowed to take up?).
That's possible, but it might be non obvious at first that this is the behavior? How would this been shown if there are multiple groups where one is not exceeding but the combination is exceeding?
@fnetX wrote in https://codeberg.org/forgejo/forgejo/pulls/6602#issuecomment-2812629:
> would it make sense to show exceeded quota by having the actual usage be the scale of the bar graphs, and then show the actual usage as a subset of this? This would allow to visualize how far you exceed the quota (is it only 1% over or 20 times the size you are allowed to take up?).
That's possible, but it might be non obvious at first that this is the behavior? How would this been shown if there are multiple groups where one is not exceeding but the combination is exceeding?
fnetX
commented
2025-02-11 20:22:15 +01:00
Owner
Copy link
For some reason, I also get difference in speech between exceeded and normal rules. The "Git lfs - exceeded" is read by a screen reader out of the box. The other two rules seem to only read when I manually navigate to them. They are not read as a "line".
For some reason, I also get difference in speech between exceeded and normal rules. The "Git lfs - exceeded" is read by a screen reader out of the box. The other two rules seem to only read when I manually navigate to them. They are not read as a "line".
Gusted
commented
2025-02-11 20:27:34 +01:00
Author
Owner
Copy link
@fnetX
wrote in
#6602 (comment)
I wonder if it is possible to expand the details by clicking on it similar to how the programming language stats are shown for repositories, this would also help with accessibility if they are read by screen readers by default. Currently, I'm unable to extract the information on how much I use with the help of a screen reader at all.
I tried to avoid the behavior of the programming language stats as it involves javascript. My first prototype was use details and an unordered list but I couldn't get it too look nice or have a good way to quickly provide what rule is taking up the most storage without duplicating that information to a bar, the current way was inspired by
@0ko
's penpot:
I have no good way to provide this information to the screen reader, which is also a major blocking for adding graphs for a general storage overview.
@fnetX wrote in https://codeberg.org/forgejo/forgejo/pulls/6602#issuecomment-2812643:
> I wonder if it is possible to expand the details by clicking on it similar to how the programming language stats are shown for repositories, this would also help with accessibility if they are read by screen readers by default. Currently, I'm unable to extract the information on how much I use with the help of a screen reader at all.
I tried to avoid the behavior of the programming language stats as it involves javascript. My first prototype was use details and an unordered list but I couldn't get it too look nice or have a good way to quickly provide what rule is taking up the most storage without duplicating that information to a bar, the current way was inspired by @0ko's penpot: 
I have no good way to provide this information to the screen reader, which is also a major blocking for adding graphs for a general storage overview.
size_overview_penpot
59 KiB
fnetX
commented
2025-02-11 20:33:01 +01:00
Owner
Copy link
Well, you can always make it work for a screen reader by adding an aria-label on the wrapping element that reads the data as text ("Total: 876 Megabytes of 2 Gigabytes used. Git: 579 Megabytes, Releases: 320 Megabytes, Attachments: 110 Megabytes.")
Well, you can always make it work for a screen reader by adding an aria-label on the wrapping element that reads the data as text ("Total: 876 Megabytes of 2 Gigabytes used. Git: 579 Megabytes, Releases: 320 Megabytes, Attachments: 110 Megabytes.")
fnetX
commented
2025-02-11 20:34:37 +01:00
Owner
Copy link
Personally, I would be in favour of showing the labels all the time instead of using mouseover. I find mouseover super hard to work wtih, especially on touch devices, and it also poses challenges to people who have limited motion capabilities with intact eye vision, because placing the mouse on the small bars could be tricky.
Personally, I would be in favour of showing the labels all the time instead of using mouseover. I find mouseover super hard to work wtih, especially on touch devices, and it also poses challenges to people who have limited motion capabilities with intact eye vision, because placing the mouse on the small bars could be tricky.
Gusted
commented
2025-02-11 20:53:16 +01:00
Author
Owner
Copy link
@fnetX
wrote in
#6602 (comment)
Personally, I would be in favour of showing the labels all the time instead of using mouseover. I find mouseover super hard to work wtih, especially on touch devices, and it also poses challenges to people who have limited motion capabilities with intact eye vision, because placing the mouse on the small bars could be tricky.
It will not work if there are multiple rules that only take a few percent of usage, they will overlap.
@fnetX wrote in https://codeberg.org/forgejo/forgejo/pulls/6602#issuecomment-2812662:
> Personally, I would be in favour of showing the labels all the time instead of using mouseover. I find mouseover super hard to work wtih, especially on touch devices, and it also poses challenges to people who have limited motion capabilities with intact eye vision, because placing the mouse on the small bars could be tricky.
It will not work if there are multiple rules that only take a few percent of usage, they will overlap.
fnetX
commented
2025-02-11 20:58:59 +01:00
Owner
Copy link
I think the patch could to the trick. The hover is somehow not captured on mobile devices, but the screenshots seem to be stable.
I think the patch could to the trick. The hover is somehow not captured on mobile devices, but the screenshots seem to be stable.
0001-Add-visual-test-for-quota-overview.patch
1.1 KiB
Gusted
force-pushed gusted/forgejo-size-overview from
243fd61021
Some checks failed
testing / frontend-checks (pull_request)
Successful in 1m0s
Details
testing / backend-checks (pull_request)
Successful in 3m16s
Details
testing / test-unit (pull_request)
Successful in 5m50s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m14s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m14s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m14s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m14s
Details
testing / test-e2e (pull_request)
Successful in 12m29s
Details
testing / test-mysql (pull_request)
Successful in 19m30s
Details
testing / test-sqlite (pull_request)
Successful in 21m40s
Details
testing / test-pgsql (pull_request)
Successful in 25m2s
Details
testing / security-check (pull_request)
Successful in 1m8s
Details
requirements / merge-conditions (pull_request)
Failing after 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
to
75b29c9631
All checks were successful
issue-labels / backporting (pull_request_target)
Has been skipped
Details
issue-labels / cascade (pull_request_target)
Has been skipped
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 4m28s
Details
requirements / merge-conditions (pull_request)
Successful in 3s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
2025-02-11 22:45:20 +01:00
Compare
Gusted
commented
2025-02-11 22:46:55 +01:00
Author
Owner
Copy link
Renamed it to storage overview
Applied the CSS suggestion from
@0ko
The sum of the rule is now also shown besides the limit of the rule.
Renamed it to storage overview
Applied the CSS suggestion from @0ko
The sum of the rule is now also shown besides the limit of the rule.
Gusted
added
test
present
and removed
test
needed
labels
2025-02-11 22:47:20 +01:00
0ko
approved these changes
2025-02-25 18:53:43 +01:00
Dismissed
0ko
left a comment
Copy link
Tried again - looks totally usable and mergeable. Code is good too.
There are always things to improve, but it will be easier to do that after doing the step forward.
Tried again - looks totally usable and mergeable. Code is good too.
There are always things to improve, but it will be easier to do that after doing the step forward.
Gusted
changed title from
WIP: feat(ui): add quota overview
to
feat(ui): add quota overview
2025-02-25 21:32:29 +01:00
Gusted
requested reviews from
fnetX
0ko
2025-02-25 21:32:32 +01:00
Gusted
force-pushed gusted/forgejo-size-overview from
75b29c9631
All checks were successful
issue-labels / backporting (pull_request_target)
Has been skipped
Details
issue-labels / cascade (pull_request_target)
Has been skipped
Details
Integration tests for the release process / release-simulation (pull_request)
Successful in 4m28s
Details
requirements / merge-conditions (pull_request)
Successful in 3s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
to
5d4d9941cc
Some checks failed
requirements / merge-conditions (pull_request)
Successful in 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 56s
Details
testing / backend-checks (pull_request)
Successful in 2m57s
Details
testing / test-e2e (pull_request)
Failing after 4m25s
Details
testing / test-unit (pull_request)
Successful in 7m38s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 3m26s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 3m49s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m54s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m43s
Details
testing / test-mysql (pull_request)
Successful in 26m20s
Details
testing / test-sqlite (pull_request)
Successful in 27m47s
Details
testing / test-pgsql (pull_request)
Successful in 32m12s
Details
testing / security-check (pull_request)
Successful in 1m55s
Details
2025-02-25 21:35:11 +01:00
Compare
fnetX
commented
2025-02-25 22:34:49 +01:00
Owner
Copy link
@Gusted
looks like you broke this PR?
@Gusted looks like you broke this PR?
fnetX
commented
2025-02-25 22:37:26 +01:00
Owner
Copy link
And maybe consistently name the files "storage_overview". The latest available version still had one "size_oveview" left.
And maybe consistently name the files "storage_overview". The latest available version still had one "size_oveview" left.
Gusted
force-pushed gusted/forgejo-size-overview from
5d4d9941cc
Some checks failed
requirements / merge-conditions (pull_request)
Successful in 2s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 56s
Details
testing / backend-checks (pull_request)
Successful in 2m57s
Details
testing / test-e2e (pull_request)
Failing after 4m25s
Details
testing / test-unit (pull_request)
Successful in 7m38s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 3m26s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 3m49s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m54s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m43s
Details
testing / test-mysql (pull_request)
Successful in 26m20s
Details
testing / test-sqlite (pull_request)
Successful in 27m47s
Details
testing / test-pgsql (pull_request)
Successful in 32m12s
Details
testing / security-check (pull_request)
Successful in 1m55s
Details
to
fae682dd8e
Some checks failed
requirements / merge-conditions (pull_request)
Successful in 1s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 52s
Details
testing / backend-checks (pull_request)
Failing after 1m45s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
2025-02-25 23:14:57 +01:00
Compare
Gusted
force-pushed gusted/forgejo-size-overview from
fae682dd8e
Some checks failed
requirements / merge-conditions (pull_request)
Successful in 1s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 52s
Details
testing / backend-checks (pull_request)
Failing after 1m45s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
to
f1a0135efa
Some checks failed
requirements / merge-conditions (pull_request)
Successful in 1s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 57s
Details
testing / backend-checks (pull_request)
Failing after 1m40s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
2025-02-25 23:19:07 +01:00
Compare
Gusted
commented
2025-02-25 23:19:11 +01:00
Author
Owner
Copy link
@fnetX
wrote in
#6602 (comment)
And maybe consistently name the files "storage_overview". The latest available version still had one "size_oveview" left.
Should be fixed now.
@fnetX wrote in https://codeberg.org/forgejo/forgejo/pulls/6602#issuecomment-2875078:
> And maybe consistently name the files "storage_overview". The latest available version still had one "size_oveview" left.
Should be fixed now.
Gusted
force-pushed gusted/forgejo-size-overview from
f1a0135efa
Some checks failed
requirements / merge-conditions (pull_request)
Successful in 1s
Details
issue-labels / release-notes (pull_request_target)
Has been skipped
Details
testing / frontend-checks (pull_request)
Successful in 57s
Details
testing / backend-checks (pull_request)
Failing after 1m40s
Details
testing / test-unit (pull_request)
Has been skipped
Details
testing / test-e2e (pull_request)
Has been skipped
Details
testing / test-mysql (pull_request)
Has been skipped
Details
testing / test-pgsql (pull_request)
Has been skipped
Details
testing / test-sqlite (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redis) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (valkey) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (garnet) (pull_request)
Has been skipped
Details
testing / test-remote-cacher (redict) (pull_request)
Has been skipped
Details
testing / security-check (pull_request)
Has been skipped
Details
to
30c38da7d2
All checks were successful
testing / frontend-checks (pull_request)
Successful in 54s
Details
testing / backend-checks (pull_request)
Successful in 3m5s
Details
testing / test-unit (pull_request)
Successful in 5m53s
Details
testing / test-remote-cacher (redis) (pull_request)
Successful in 2m18s
Details
testing / test-remote-cacher (valkey) (pull_request)
Successful in 2m20s
Details
testing / test-remote-cacher (garnet) (pull_request)
Successful in 2m20s
Details
testing / test-remote-cacher (redict) (pull_request)
Successful in 2m20s
Details
testing / test-e2e (pull_request)
Successful in 12m17s
Details
testing / test-mysql (pull_request)
Successful in 19m24s
Details
testing / test-sqlite (pull_request)
Successful in 21m11s
Details
testing / test-pgsql (pull_request)
Successful in 25m28s
Details
testing / security-check (pull_request)
Successful in 1m3s
Details
milestone / set (pull_request_target)
Successful in 8s
Details
issue-labels / backporting (pull_request_target)
Has been skipped
Details
issue-labels / cascade (pull_request_target)
Has been skipped
Details
requirements / merge-conditions (pull_request)
Successful in 2s
Details
issue-labels / release-notes (pull_request_target)
Successful in 38s
Details
2025-02-25 23:24:02 +01:00
Compare
fnetX
approved these changes
2025-02-25 23:27:17 +01:00
0ko
approved these changes
2025-02-26 15:34:29 +01:00
0ko
merged commit
77a1af5ab8
into
forgejo
2025-02-26 15:37:11 +01:00
forgejo-release-notes-assistant
added this to the
Forgejo v11.0.0
milestone
2025-02-26 15:37:43 +01:00
0ko
referenced this pull request from a commit
2025-02-26 15:38:30 +01:00
feat(ui): add quota overview (#6602)
earl-warren
added the
worth a release-note
label
2025-04-05 12:10:49 +02:00
forgejo-release-notes-assistant
commented
2025-04-05 12:11:38 +02:00
Member
Copy link
Where does that come from?
The following is a preview of the release notes for this pull request, as they will appear in the upcoming release. They are derived from the content of the `release-notes/6602.md` file, if it exists, or the title of the pull request. They were also added at the bottom of the description of this pull request for easier reference.
This message and the release notes originate from a call to the
release-notes-assistant
@@ -6,2 +6,10 @@

+
+## Release notes
+
+- User Interface features
+ - [PR](https://codeberg.org/forgejo/forgejo/pulls/6602): feat(ui): add quota overview
+
Release notes
User Interface features
PR
: feat(ui): add quota overview
Where does that come from?
The following is a preview of the release notes for this pull request, as they will appear in the upcoming release. They are derived from the content of the `release-notes/6602.md` file, if it exists, or the title of the pull request. They were also added at the bottom of the description of this pull request for easier reference.
This message and the release notes originate from a call to the [release-notes-assistant](https://code.forgejo.org/forgejo/release-notes-assistant).
```diff
@@ -6,2 +6,10 @@

+
+## Release notes
+
+- User Interface features
+ - [PR](https://codeberg.org/forgejo/forgejo/pulls/6602): feat(ui): add quota overview
+
```
## Release notes
- User Interface features
- [PR](https://codeberg.org/forgejo/forgejo/pulls/6602): feat(ui): add quota overview
davrot
referenced this pull request from a commit
2025-06-02 14:13:49 +02:00
feat(ui): add quota overview (#6602)
0ko
referenced this pull request
2025-09-26 20:58:07 +02:00
feat(ui): add legends to storage overview (JS-free)
#9429
0ko
referenced this pull request from a commit
2025-09-28 10:35:16 +02:00
feat(ui): add legends to storage overview (#9429)
tampler
referenced this pull request from a commit
2025-09-28 22:06:01 +02:00
feat(ui): add legends to storage overview (#9429)
forgejo-actions
referenced this pull request from forgejo/website
2025-11-27 18:11:38 +01:00
Dead links report
#529
forgejo-actions
referenced this pull request from forgejo/website
2025-12-08 18:03:53 +01:00
Dead links report
#529
alberic89
referenced this pull request from a commit
2026-02-23 18:42:19 +01:00
feat(ui): add quota overview (#6602)
alberic89
referenced this pull request from a commit
2026-02-23 18:42:50 +01:00
feat(ui): add legends to storage overview (#9429)
to join this conversation.
Reviewers
No reviewers
caesar
crystal
algernon
fnetX
0ko
Labels
Clear labels
arch
riscv64
Archived
backport/v1.19
Scheduled for backport to Forgejo v1.19
Archived
backport/v1.20
Scheduled for backport to Forgejo v1.20
Archived
backport/v1.21/forgejo
Scheduled for backport to Forgejo v1.21
Archived
backport/v10.0/forgejo
Automated backport to v10.0
Archived
backport/v11.0/forgejo
Automated backport to v11.0
backport/v12.0/forgejo
Automated backport to v12.0
Archived
backport/v13.0/forgejo
Automated backport to v13.0
Archived
backport/v14.0/forgejo
Automated backport to v14.0
backport/v15.0/forgejo
Automated backport to v15.0
backport/v7.0/forgejo
Scheduled for backport to Forgejo v7.0
Archived
backport/v8.0/forgejo
Scheduled for backport to Forgejo v8.0
Archived
backport/v9.0/forgejo
Scheduled for backport to Forgejo v9.0
Archived
breaking
The release containing this change is not backward compatible
bug
Something is not working
Archived
bug
confirmed
it can be reproduced
bug
duplicate
bug has already been reported in the Forgejo tracker
bug
needs-more-info
the information provided does not contain enough details
bug
new-report
bug has just been reported and need triage (default label on issue creation)
bug
reported-upstream
bug cannot be fixed within Forgejo easily, it has been reported upstream
code/actions
Forgejo Actions feature
code/api
API
code/auth
Forgejo Authentication
code/auth/faidp
Forgejo as Identity Provider (in OAuth/OIDC flow)
code/auth/farp
Forgejo as Relying Party / Client (in OAuth/OIDC flow)
code/email
Everything related to email in Forgejo
code/federation
Federation
code/git
Related to the Git backend in Forgejo
code/migrations
Migration between Git forges (i.e. for GitHub, GitLab, Gitea, Forgejo, etc.). NOT for database migrations.
code/packages
Forgejo package and container registry
code/wiki
database
MySQL
database
PostgreSQL
database
SQLite
dependency-upgrade
dependency
Chi
Archived
dependency
Chroma
Archived
dependency
F3
dependency
ForgeFed
dependency
garage
dependency
Gitea
Archived
dependency
Golang
Discussion
duplicate
This issue or pull request already exists
enhancement/feature
New feature
forgejo/accessibility
Accessibility (a11y)
forgejo/branding
Branding (logo, name, tagline etc.)
forgejo/ci
Forgejo Actions CI configuration
forgejo/commit-graph
The commit graph feature and page.
forgejo/documentation
forgejo/furnace cleanup
Keeping Forgejo in sync with its dependencies and contributing back to them
Archived
forgejo/i18n
t9n/translation, l10n/localization, and i18n/internationalization of Forgejo
forgejo/interop
Interoperability with other services: Webhooks, bridges, integrations
forgejo/moderation
Moderation
forgejo/privacy
Privacy first
forgejo/release
Release management
forgejo/scaling
Performance and scaling
forgejo/security
Security (please disclose responsibly)
forgejo/ui
User interface
Gain
High
User research provides indicators that this would be good to have, interested contributors are encouraged to pick this.
Gain
Nice to have
This is likely worth having, but the assumption is not backed by user research data (it might benefit a small amount of users only.) Unlikely to receive much attention, but feel free to pick.
Gain
Undefined
Not enough information to assess the request's benefits. This issue may be closed if no gain is established: You can help by giving us more input.
Gain
Very High
User research indicates that this is an important improvement for Forgejo users. Contributions very welcome!
good first issue
Optimal for first-timers! Make sure to look for further explanations and ask for help if needed. If you want, you can consider the person who added this label as a point of contact.
i18n/backport-stable
This PR needs to be backported to stable branch of Forgejo safely and manually, using a migration script.
impact
large
Large impact: Potential data loss, many users affected, major degradation in UX.
impact
medium
Medium impact: Several users affected, degradation in UX, workarounds might be available but inconvenient.
impact
small
Small impact: No data loss, workarounds might be available, affects few users.
impact
unknown
Report was not yet triaged to assess impact.
Incompatible license
This pull request contains changes that are not (yet) compatible with the current Forgejo license
issue
closed
The issue was resolved in the repository of the dependency
issue
do-not-exist-yet
An issue should be created in the respository of the dependency
issue
open
An open issue exists in the upstream repository of the dependency
manual test
Pull requests that have been merged with a manual test
Archived
Manually tested during feature freeze
The manual test instructions were followed
OS
FreeBSD
Specific to the FreeBSD Operating System
OS
Linux
Specific to (GNU/)Linux Operating Systems
OS
macOS
Specific to the MacOS Operating System
OS
Windows
Specific to the Windows Operating System
problem
A user report about a problem. Needs to be triaged to find potential solutions.
QA
regression
found in the version of the milestone and not before
release blocker
Issues that must be fixed before the release can be published
Release Cycle
Feature Freeze
Only bug fixes with automated tests (except for CSS/JavaScript)
release-blocker
v7.0
Issues that must be fixed before Forgejo v7.0 can be released 17 April 2024
Archived
release-blocker
v7.0.1
Issues that must be fixed before Forgejo v7.0.1 can be released
Archived
release-blocker
v7.0.2
Issues that must be fixed before Forgejo v7.0.2 can be released
Archived
release-blocker
v7.0.3
Issues that must be fixed before Forgejo v7.0.3 can be released
Archived
release-blocker
v7.0.4
Issues that must be fixed before Forgejo v7.0.4 can be released
Archived
release-blocker
v8.0.0
Issues that must be fixed before Forgejo v8.0.0 can be released
Archived
release-blocker/v9.0.0
Issues that must be fixed before Forgejo v9.0.0 can be released
Archived
run-all-playwright-tests
Add this label to a PR to run all playwright tests manually.
run-end-to-end-tests
Trigger additional tests on the PR when it is ready to be merged
test
manual
manual testing has been documented
test
needed
test should be added
test
needs-help
help needed to add a test
test
not-needed
no additional test is needed
test
present
test has been added
untested
Pull requests that have been merged with no test and submitted as is to the dependency where they belong
Archived
User research - time-tracker
Time tracking feature for issues and the JS stopwatch.
valuable code
This PR was closed because the implementation is incomplete
worth a release-note
Add this PR to the release notes
User research - Accessibility
Requires input about accessibility features, likely involves user testing.
User research - Blocked
Do not pick as-is! We are happy if you can help, but please coordinate with ongoing redesign in this area.
User research - Community
Community features, such as discovering other people's work or otherwise feeling welcome on a Forgejo instance.
User research - Config (instance)
Instance-wide configuration, authentication and other admin-only needs.
User research - Errors
How to deal with errors in the application and write helpful error messages.
User research - Filters
How filter and search is being worked with.
User research - Future backlog
The issue might be inspiring for future design work.
User research - Git workflow
AGit, fork-based and new Git workflow, PR creation etc
User research - Labels
Active research about Labels
User research - Moderation
Moderation Featuers for Admins are undergoing active User Research
User research - Needs input
Use this label to let the User Research team know their input is requested.
User research - Notifications/Dashboard
Research on how users should know what to do next.
User research - Rendering
Text rendering, markup languages etc
User research - Repo creation
Active research about the New Repo dialog.
User research - Repo units
The repo sections, disabling them and the "Add more" button.
User research - Security
User research - Settings (in-app)
How to structure in-app settings in the future?
No labels
arch
riscv64
backport/v1.19
backport/v1.20
backport/v1.21/forgejo
backport/v10.0/forgejo
backport/v11.0/forgejo
backport/v12.0/forgejo
backport/v13.0/forgejo
backport/v14.0/forgejo
backport/v15.0/forgejo
backport/v7.0/forgejo
backport/v8.0/forgejo
backport/v9.0/forgejo
breaking
bug
bug
confirmed
bug
duplicate
bug
needs-more-info
bug
new-report
bug
reported-upstream
code/actions
code/api
code/auth
code/auth/faidp
code/auth/farp
code/email
code/federation
code/git
code/migrations
code/packages
code/wiki
database
MySQL
database
PostgreSQL
database
SQLite
dependency-upgrade
dependency
Chi
dependency
Chroma
dependency
F3
dependency
ForgeFed
dependency
garage
dependency
Gitea
dependency
Golang
Discussion
duplicate
enhancement/feature
forgejo/accessibility
forgejo/branding
forgejo/ci
forgejo/commit-graph
forgejo/documentation
forgejo/furnace cleanup
forgejo/i18n
forgejo/interop
forgejo/moderation
forgejo/privacy
forgejo/release
forgejo/scaling
forgejo/security
forgejo/ui
Gain
High
Gain
Nice to have
Gain
Undefined
Gain
Very High
good first issue
i18n/backport-stable
impact
large
impact
medium
impact
small
impact
unknown
Incompatible license
issue
closed
issue
do-not-exist-yet
issue
open
manual test
Manually tested during feature freeze
OS
FreeBSD
OS
Linux
OS
macOS
OS
Windows
problem
QA
regression
release blocker
Release Cycle
Feature Freeze
release-blocker
v7.0
release-blocker
v7.0.1
release-blocker
v7.0.2
release-blocker
v7.0.3
release-blocker
v7.0.4
release-blocker
v8.0.0
release-blocker/v9.0.0
run-all-playwright-tests
run-end-to-end-tests
test
manual
test
needed
test
needs-help
test
not-needed
test
present
untested
User research - time-tracker
valuable code
worth a release-note
User research - Accessibility
User research - Blocked
User research - Community
User research - Config (instance)
User research - Errors
User research - Filters
User research - Future backlog
User research - Git workflow
User research - Labels
User research - Moderation
User research - Needs input
User research - Notifications/Dashboard
User research - Rendering
User research - Repo creation
User research - Repo units
User research - Security
User research - Settings (in-app)
Milestone
Clear milestone
No items
No milestone
Forgejo v11.0.0
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
forgejo/forgejo!6602
Reference in a new issue
No description provided.
Delete branch "gusted/forgejo-size-overview"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?