Skip to content

Commit 598d58c

Browse files
committed
Merge branch 'main' into lunny/commit_status_webhook
2 parents 8266545 + c337ff0 commit 598d58c

File tree

1,629 files changed

+30404
-12691
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,629 files changed

+30404
-12691
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Gitea DevContainer",
3-
"image": "mcr.microsoft.com/devcontainers/go:1.21-bullseye",
3+
"image": "mcr.microsoft.com/devcontainers/go:1.22-bullseye",
44
"features": {
55
// installs nodejs into container
66
"ghcr.io/devcontainers/features/node:1": {

.eslintrc.yaml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ plugins:
1212
- "@eslint-community/eslint-plugin-eslint-comments"
1313
- "@stylistic/eslint-plugin-js"
1414
- eslint-plugin-array-func
15+
- eslint-plugin-github
1516
- eslint-plugin-i
1617
- eslint-plugin-jquery
1718
- eslint-plugin-no-jquery
@@ -209,6 +210,29 @@ rules:
209210
func-names: [0]
210211
func-style: [0]
211212
getter-return: [2]
213+
github/a11y-aria-label-is-well-formatted: [0]
214+
github/a11y-no-title-attribute: [0]
215+
github/a11y-no-visually-hidden-interactive-element: [0]
216+
github/a11y-role-supports-aria-props: [0]
217+
github/a11y-svg-has-accessible-name: [0]
218+
github/array-foreach: [0]
219+
github/async-currenttarget: [2]
220+
github/async-preventdefault: [2]
221+
github/authenticity-token: [0]
222+
github/get-attribute: [0]
223+
github/js-class-name: [0]
224+
github/no-blur: [0]
225+
github/no-d-none: [0]
226+
github/no-dataset: [2]
227+
github/no-dynamic-script-tag: [2]
228+
github/no-implicit-buggy-globals: [2]
229+
github/no-inner-html: [0]
230+
github/no-innerText: [2]
231+
github/no-then: [2]
232+
github/no-useless-passive: [2]
233+
github/prefer-observers: [2]
234+
github/require-passive-events: [2]
235+
github/unescaped-html-literal: [0]
212236
grouped-accessor-pairs: [2]
213237
guard-for-in: [0]
214238
id-blacklist: [0]
@@ -272,7 +296,7 @@ rules:
272296
jquery/no-delegate: [2]
273297
jquery/no-each: [0]
274298
jquery/no-extend: [2]
275-
jquery/no-fade: [0]
299+
jquery/no-fade: [2]
276300
jquery/no-filter: [0]
277301
jquery/no-find: [0]
278302
jquery/no-global-eval: [2]
@@ -285,7 +309,7 @@ rules:
285309
jquery/no-is-function: [2]
286310
jquery/no-is: [0]
287311
jquery/no-load: [2]
288-
jquery/no-map: [0]
312+
jquery/no-map: [2]
289313
jquery/no-merge: [2]
290314
jquery/no-param: [2]
291315
jquery/no-parent: [0]
@@ -427,7 +451,7 @@ rules:
427451
no-jquery/no-load: [2]
428452
no-jquery/no-map-collection: [0]
429453
no-jquery/no-map-util: [2]
430-
no-jquery/no-map: [0]
454+
no-jquery/no-map: [2]
431455
no-jquery/no-merge: [2]
432456
no-jquery/no-node-name: [2]
433457
no-jquery/no-noop: [2]
@@ -558,7 +582,6 @@ rules:
558582
prefer-rest-params: [2]
559583
prefer-spread: [2]
560584
prefer-template: [2]
561-
quotes: [2, single, {avoidEscape: true, allowTemplateLiterals: true}]
562585
radix: [2, as-needed]
563586
regexp/confusing-quantifier: [2]
564587
regexp/control-character-escape: [2]
@@ -723,6 +746,7 @@ rules:
723746
unicorn/no-this-assignment: [2]
724747
unicorn/no-typeof-undefined: [2]
725748
unicorn/no-unnecessary-await: [2]
749+
unicorn/no-unnecessary-polyfills: [2]
726750
unicorn/no-unreadable-array-destructuring: [0]
727751
unicorn/no-unreadable-iife: [2]
728752
unicorn/no-unused-properties: [2]
@@ -810,7 +834,7 @@ rules:
810834
wc/no-constructor-params: [2]
811835
wc/no-constructor: [2]
812836
wc/no-customized-built-in-elements: [2]
813-
wc/no-exports-with-element: [2]
837+
wc/no-exports-with-element: [0]
814838
wc/no-invalid-element-name: [2]
815839
wc/no-invalid-extends: [2]
816840
wc/no-method-prefixed-with-on: [2]

.github/FUNDING.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
open_collective: gitea
2-
custom: https://www.bountysource.com/teams/gitea

.github/workflows/cron-lock.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ jobs:
1919
steps:
2020
- uses: dessant/lock-threads@v5
2121
with:
22-
issue-inactive-days: 45
22+
issue-inactive-days: 10
23+
pr-inactive-days: 7

.github/workflows/files-changed.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
yaml: ${{ steps.changes.outputs.yaml }}
3636
steps:
3737
- uses: actions/checkout@v4
38-
- uses: dorny/paths-filter@v2
38+
- uses: dorny/paths-filter@v3
3939
id: changes
4040
with:
4141
filters: |

.github/workflows/pull-compliance.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ jobs:
3232
runs-on: ubuntu-latest
3333
steps:
3434
- uses: actions/checkout@v4
35-
- uses: actions/setup-python@v4
35+
- uses: actions/setup-python@v5
3636
with:
37-
python-version: "3.11"
37+
python-version: "3.12"
3838
- run: pip install poetry
3939
- run: make deps-py
4040
- run: make lint-templates
@@ -45,9 +45,9 @@ jobs:
4545
runs-on: ubuntu-latest
4646
steps:
4747
- uses: actions/checkout@v4
48-
- uses: actions/setup-python@v4
48+
- uses: actions/setup-python@v5
4949
with:
50-
python-version: "3.11"
50+
python-version: "3.12"
5151
- run: pip install poetry
5252
- run: make deps-py
5353
- run: make lint-yaml
@@ -64,6 +64,18 @@ jobs:
6464
- run: make deps-frontend
6565
- run: make lint-swagger
6666

67+
lint-spell:
68+
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.templates == 'true'
69+
needs: files-changed
70+
runs-on: ubuntu-latest
71+
steps:
72+
- uses: actions/checkout@v4
73+
- uses: actions/setup-go@v5
74+
with:
75+
go-version-file: go.mod
76+
check-latest: true
77+
- run: make lint-spell
78+
6779
lint-go-windows:
6880
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
6981
needs: files-changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ _test
1515

1616
# MS VSCode
1717
.vscode
18-
__debug_bin
18+
__debug_bin*
1919

2020
*.cgo1.go
2121
*.cgo2.c

.gitpod.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,19 @@ tasks:
1010
- name: Run backend
1111
command: |
1212
gp sync-await setup
13-
if [ ! -f custom/conf/app.ini ]
14-
then
13+
14+
# Get the URL and extract the domain
15+
url=$(gp url 3000)
16+
domain=$(echo $url | awk -F[/:] '{print $4}')
17+
18+
if [ -f custom/conf/app.ini ]; then
19+
sed -i "s|^ROOT_URL =.*|ROOT_URL = ${url}/|" custom/conf/app.ini
20+
sed -i "s|^DOMAIN =.*|DOMAIN = ${domain}|" custom/conf/app.ini
21+
sed -i "s|^SSH_DOMAIN =.*|SSH_DOMAIN = ${domain}|" custom/conf/app.ini
22+
sed -i "s|^NO_REPLY_ADDRESS =.*|SSH_DOMAIN = noreply.${domain}|" custom/conf/app.ini
23+
else
1524
mkdir -p custom/conf/
16-
echo -e "[server]\nROOT_URL=$(gp url 3000)/" > custom/conf/app.ini
25+
echo -e "[server]\nROOT_URL = ${url}/" > custom/conf/app.ini
1726
echo -e "\n[database]\nDB_TYPE = sqlite3\nPATH = $GITPOD_REPO_ROOT/data/gitea.db" >> custom/conf/app.ini
1827
fi
1928
export TAGS="sqlite sqlite_unlock_notify"

.markdownlint.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ heading-increment: false
55
line-length: {code_blocks: false, tables: false, stern: true, line_length: -1}
66
no-alt-text: false
77
no-bare-urls: false
8-
no-blanks-blockquote: false
98
no-emphasis-as-heading: false
109
no-empty-links: false
1110
no-hard-tabs: {code_blocks: false}
1211
no-inline-html: false
1312
no-space-in-code: false
1413
no-space-in-emphasis: false
15-
no-trailing-punctuation: false
1614
no-trailing-spaces: {br_spaces: 0}
1715
single-h1: false

.stylelintrc.yaml

Lines changed: 79 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins:
22
- stylelint-declaration-strict-value
33
- stylelint-declaration-block-no-ignored-properties
4-
- stylelint-stylistic
4+
- "@stylistic/stylelint-plugin"
55

66
ignoreFiles:
77
- "**/*.go"
@@ -17,12 +17,89 @@ overrides:
1717
customSyntax: postcss-html
1818

1919
rules:
20+
"@stylistic/at-rule-name-case": null
21+
"@stylistic/at-rule-name-newline-after": null
22+
"@stylistic/at-rule-name-space-after": null
23+
"@stylistic/at-rule-semicolon-newline-after": null
24+
"@stylistic/at-rule-semicolon-space-before": null
25+
"@stylistic/block-closing-brace-empty-line-before": null
26+
"@stylistic/block-closing-brace-newline-after": null
27+
"@stylistic/block-closing-brace-newline-before": null
28+
"@stylistic/block-closing-brace-space-after": null
29+
"@stylistic/block-closing-brace-space-before": null
30+
"@stylistic/block-opening-brace-newline-after": null
31+
"@stylistic/block-opening-brace-newline-before": null
32+
"@stylistic/block-opening-brace-space-after": null
33+
"@stylistic/block-opening-brace-space-before": null
34+
"@stylistic/color-hex-case": lower
35+
"@stylistic/declaration-bang-space-after": never
36+
"@stylistic/declaration-bang-space-before": null
37+
"@stylistic/declaration-block-semicolon-newline-after": null
38+
"@stylistic/declaration-block-semicolon-newline-before": null
39+
"@stylistic/declaration-block-semicolon-space-after": null
40+
"@stylistic/declaration-block-semicolon-space-before": never
41+
"@stylistic/declaration-block-trailing-semicolon": null
42+
"@stylistic/declaration-colon-newline-after": null
43+
"@stylistic/declaration-colon-space-after": null
44+
"@stylistic/declaration-colon-space-before": never
45+
"@stylistic/function-comma-newline-after": null
46+
"@stylistic/function-comma-newline-before": null
47+
"@stylistic/function-comma-space-after": null
48+
"@stylistic/function-comma-space-before": null
49+
"@stylistic/function-max-empty-lines": 0
50+
"@stylistic/function-parentheses-newline-inside": never-multi-line
51+
"@stylistic/function-parentheses-space-inside": null
52+
"@stylistic/function-whitespace-after": null
53+
"@stylistic/indentation": 2
54+
"@stylistic/linebreaks": null
55+
"@stylistic/max-empty-lines": 1
56+
"@stylistic/max-line-length": null
57+
"@stylistic/media-feature-colon-space-after": null
58+
"@stylistic/media-feature-colon-space-before": never
59+
"@stylistic/media-feature-name-case": null
60+
"@stylistic/media-feature-parentheses-space-inside": null
61+
"@stylistic/media-feature-range-operator-space-after": always
62+
"@stylistic/media-feature-range-operator-space-before": always
63+
"@stylistic/media-query-list-comma-newline-after": null
64+
"@stylistic/media-query-list-comma-newline-before": null
65+
"@stylistic/media-query-list-comma-space-after": null
66+
"@stylistic/media-query-list-comma-space-before": null
67+
"@stylistic/named-grid-areas-alignment": null
68+
"@stylistic/no-empty-first-line": null
69+
"@stylistic/no-eol-whitespace": true
70+
"@stylistic/no-extra-semicolons": true
71+
"@stylistic/no-missing-end-of-source-newline": null
72+
"@stylistic/number-leading-zero": null
73+
"@stylistic/number-no-trailing-zeros": null
74+
"@stylistic/property-case": lower
75+
"@stylistic/selector-attribute-brackets-space-inside": null
76+
"@stylistic/selector-attribute-operator-space-after": null
77+
"@stylistic/selector-attribute-operator-space-before": null
78+
"@stylistic/selector-combinator-space-after": null
79+
"@stylistic/selector-combinator-space-before": null
80+
"@stylistic/selector-descendant-combinator-no-non-space": null
81+
"@stylistic/selector-list-comma-newline-after": null
82+
"@stylistic/selector-list-comma-newline-before": null
83+
"@stylistic/selector-list-comma-space-after": always-single-line
84+
"@stylistic/selector-list-comma-space-before": never-single-line
85+
"@stylistic/selector-max-empty-lines": 0
86+
"@stylistic/selector-pseudo-class-case": lower
87+
"@stylistic/selector-pseudo-class-parentheses-space-inside": never
88+
"@stylistic/selector-pseudo-element-case": lower
89+
"@stylistic/string-quotes": double
90+
"@stylistic/unicode-bom": null
91+
"@stylistic/unit-case": lower
92+
"@stylistic/value-list-comma-newline-after": null
93+
"@stylistic/value-list-comma-newline-before": null
94+
"@stylistic/value-list-comma-space-after": null
95+
"@stylistic/value-list-comma-space-before": null
96+
"@stylistic/value-list-max-empty-lines": 0
2097
alpha-value-notation: null
2198
annotation-no-unknown: true
2299
at-rule-allowed-list: null
23100
at-rule-disallowed-list: null
24101
at-rule-empty-line-before: null
25-
at-rule-no-unknown: true
102+
at-rule-no-unknown: [true, {ignoreAtRules: [tailwind]}]
26103
at-rule-no-vendor-prefix: true
27104
at-rule-property-required-list: null
28105
block-no-empty: true
@@ -137,82 +214,6 @@ rules:
137214
selector-type-no-unknown: [true, {ignore: [custom-elements]}]
138215
shorthand-property-no-redundant-values: true
139216
string-no-newline: true
140-
stylistic/at-rule-name-case: null
141-
stylistic/at-rule-name-newline-after: null
142-
stylistic/at-rule-name-space-after: null
143-
stylistic/at-rule-semicolon-newline-after: null
144-
stylistic/at-rule-semicolon-space-before: null
145-
stylistic/block-closing-brace-empty-line-before: null
146-
stylistic/block-closing-brace-newline-after: null
147-
stylistic/block-closing-brace-newline-before: null
148-
stylistic/block-closing-brace-space-after: null
149-
stylistic/block-closing-brace-space-before: null
150-
stylistic/block-opening-brace-newline-after: null
151-
stylistic/block-opening-brace-newline-before: null
152-
stylistic/block-opening-brace-space-after: null
153-
stylistic/block-opening-brace-space-before: null
154-
stylistic/color-hex-case: lower
155-
stylistic/declaration-bang-space-after: never
156-
stylistic/declaration-bang-space-before: null
157-
stylistic/declaration-block-semicolon-newline-after: null
158-
stylistic/declaration-block-semicolon-newline-before: null
159-
stylistic/declaration-block-semicolon-space-after: null
160-
stylistic/declaration-block-semicolon-space-before: never
161-
stylistic/declaration-block-trailing-semicolon: null
162-
stylistic/declaration-colon-newline-after: null
163-
stylistic/declaration-colon-space-after: null
164-
stylistic/declaration-colon-space-before: never
165-
stylistic/function-comma-newline-after: null
166-
stylistic/function-comma-newline-before: null
167-
stylistic/function-comma-space-after: null
168-
stylistic/function-comma-space-before: null
169-
stylistic/function-max-empty-lines: 0
170-
stylistic/function-parentheses-newline-inside: never-multi-line
171-
stylistic/function-parentheses-space-inside: null
172-
stylistic/function-whitespace-after: null
173-
stylistic/indentation: 2
174-
stylistic/linebreaks: null
175-
stylistic/max-empty-lines: 1
176-
stylistic/max-line-length: null
177-
stylistic/media-feature-colon-space-after: null
178-
stylistic/media-feature-colon-space-before: never
179-
stylistic/media-feature-name-case: null
180-
stylistic/media-feature-parentheses-space-inside: null
181-
stylistic/media-feature-range-operator-space-after: always
182-
stylistic/media-feature-range-operator-space-before: always
183-
stylistic/media-query-list-comma-newline-after: null
184-
stylistic/media-query-list-comma-newline-before: null
185-
stylistic/media-query-list-comma-space-after: null
186-
stylistic/media-query-list-comma-space-before: null
187-
stylistic/no-empty-first-line: null
188-
stylistic/no-eol-whitespace: true
189-
stylistic/no-extra-semicolons: true
190-
stylistic/no-missing-end-of-source-newline: null
191-
stylistic/number-leading-zero: null
192-
stylistic/number-no-trailing-zeros: null
193-
stylistic/property-case: lower
194-
stylistic/selector-attribute-brackets-space-inside: null
195-
stylistic/selector-attribute-operator-space-after: null
196-
stylistic/selector-attribute-operator-space-before: null
197-
stylistic/selector-combinator-space-after: null
198-
stylistic/selector-combinator-space-before: null
199-
stylistic/selector-descendant-combinator-no-non-space: null
200-
stylistic/selector-list-comma-newline-after: null
201-
stylistic/selector-list-comma-newline-before: null
202-
stylistic/selector-list-comma-space-after: always-single-line
203-
stylistic/selector-list-comma-space-before: never-single-line
204-
stylistic/selector-max-empty-lines: 0
205-
stylistic/selector-pseudo-class-case: lower
206-
stylistic/selector-pseudo-class-parentheses-space-inside: never
207-
stylistic/selector-pseudo-element-case: lower
208-
stylistic/string-quotes: double
209-
stylistic/unicode-bom: null
210-
stylistic/unit-case: lower
211-
stylistic/value-list-comma-newline-after: null
212-
stylistic/value-list-comma-newline-before: null
213-
stylistic/value-list-comma-space-after: null
214-
stylistic/value-list-comma-space-before: null
215-
stylistic/value-list-max-empty-lines: 0
216217
time-min-milliseconds: null
217218
unit-allowed-list: null
218219
unit-disallowed-list: null

0 commit comments

Comments
 (0)