Skip to content

Commit bf7fcba

Browse files
committed
Merge branch 'main' into add-issue-planned-time
2 parents 3499c44 + 21a73ae commit bf7fcba

File tree

440 files changed

+4719
-30553
lines changed

Some content is hidden

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

440 files changed

+4719
-30553
lines changed

.envrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
use flake

.eslintrc.yaml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ overrides:
4747
- files: ["web_src/**/*"]
4848
globals:
4949
__webpack_public_path__: true
50-
htmx: true
5150
process: false # https://github.com/webpack/webpack/issues/15833
5251
- files: ["web_src/**/*", "docs/**/*"]
5352
env:
@@ -58,7 +57,15 @@ overrides:
5857
worker: true
5958
rules:
6059
no-restricted-globals: [2, addEventListener, blur, close, closed, confirm, defaultStatus, defaultstatus, error, event, external, find, focus, frameElement, frames, history, innerHeight, innerWidth, isFinite, isNaN, length, locationbar, menubar, moveBy, moveTo, name, onblur, onerror, onfocus, onload, onresize, onunload, open, opener, opera, outerHeight, outerWidth, pageXOffset, pageYOffset, parent, print, removeEventListener, resizeBy, resizeTo, screen, screenLeft, screenTop, screenX, screenY, scroll, scrollbars, scrollBy, scrollTo, scrollX, scrollY, status, statusbar, stop, toolbar, top]
61-
- files: ["*.config.*", "**/*.d.ts"]
60+
- files: ["*.config.*"]
61+
rules:
62+
i/no-unused-modules: [0]
63+
- files: ["**/*.d.ts"]
64+
rules:
65+
i/no-unused-modules: [0]
66+
"@typescript-eslint/consistent-type-definitions": [0]
67+
"@typescript-eslint/consistent-type-imports": [0]
68+
- files: ["web_src/js/types.ts"]
6269
rules:
6370
i/no-unused-modules: [0]
6471
- files: ["**/*.test.*", "web_src/js/test/setup.ts"]
@@ -505,7 +512,7 @@ rules:
505512
no-jquery/no-box-model: [2]
506513
no-jquery/no-browser: [2]
507514
no-jquery/no-camel-case: [2]
508-
no-jquery/no-class-state: [0]
515+
no-jquery/no-class-state: [2]
509516
no-jquery/no-class: [0]
510517
no-jquery/no-clone: [2]
511518
no-jquery/no-closest: [0]
@@ -561,7 +568,7 @@ rules:
561568
no-jquery/no-param: [2]
562569
no-jquery/no-parent: [0]
563570
no-jquery/no-parents: [2]
564-
no-jquery/no-parse-html-literal: [0]
571+
no-jquery/no-parse-html-literal: [2]
565572
no-jquery/no-parse-html: [2]
566573
no-jquery/no-parse-json: [2]
567574
no-jquery/no-parse-xml: [2]

.github/workflows/files-changed.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ jobs:
6363
6464
docs:
6565
- "**/*.md"
66-
- "docs/**"
6766
- ".markdownlint.yaml"
6867
- "package.json"
6968
- "package-lock.json"

.github/workflows/pull-compliance.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ jobs:
191191
cache-dependency-path: package-lock.json
192192
- run: make deps-frontend
193193
- run: make lint-md
194-
- run: make docs
195194

196195
actions:
197196
if: needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true'

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ prime/
108108
*_source.tar.bz2
109109
.DS_Store
110110

111+
# nix-direnv generated files
112+
.direnv/
113+
111114
# Make evidence files
112115
/.make_evidence
113116

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,4 @@ Gary Wang <[email protected]> (@BLumia)
6262
Tim-Niclas Oelschläger <[email protected]> (@zokkis)
6363
Yu Liu <[email protected]> (@HEREYUA)
6464
Kemal Zebari <[email protected]> (@kemzeb)
65+
Rowan Bohde <[email protected]> (@bohde)

Makefile

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ WEB_DIRS := web_src/js web_src/css
146146

147147
ESLINT_FILES := web_src/js tools *.js *.ts tests/e2e
148148
STYLELINT_FILES := web_src/css web_src/js/components/*.vue
149-
SPELLCHECK_FILES := $(GO_DIRS) $(WEB_DIRS) docs/content templates options/locale/locale_en-US.ini .github $(filter-out CHANGELOG.md, $(wildcard *.go *.js *.md *.yml *.yaml *.toml))
149+
SPELLCHECK_FILES := $(GO_DIRS) $(WEB_DIRS) templates options/locale/locale_en-US.ini .github $(filter-out CHANGELOG.md, $(wildcard *.go *.js *.md *.yml *.yaml *.toml))
150150
EDITORCONFIG_FILES := templates .github/workflows options/locale/locale_en-US.ini
151151

152152
GO_SOURCES := $(wildcard *.go)
@@ -397,7 +397,7 @@ lint-swagger: node_modules
397397

398398
.PHONY: lint-md
399399
lint-md: node_modules
400-
npx markdownlint docs *.md
400+
npx markdownlint *.md
401401

402402
.PHONY: lint-spell
403403
lint-spell:
@@ -797,7 +797,7 @@ $(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ)
797797
CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
798798

799799
.PHONY: release
800-
release: frontend generate release-windows release-linux release-darwin release-freebsd release-copy release-compress vendor release-sources release-docs release-check
800+
release: frontend generate release-windows release-linux release-darwin release-freebsd release-copy release-compress vendor release-sources release-check
801801

802802
$(DIST_DIRS):
803803
mkdir -p $(DIST_DIRS)
@@ -843,10 +843,6 @@ release-sources: | $(DIST_DIRS)
843843
tar $(addprefix $(EXCL),$(TAR_EXCLUDES)) $(TRANSFORM) -czf $(DIST)/release/gitea-src-$(VERSION).tar.gz .
844844
rm -f $(STORED_VERSION_FILE)
845845

846-
.PHONY: release-docs
847-
release-docs: | $(DIST_DIRS) docs
848-
tar -czf $(DIST)/release/gitea-docs-$(VERSION).tar.gz -C ./docs .
849-
850846
.PHONY: deps
851847
deps: deps-frontend deps-backend deps-tools deps-py
852848

@@ -862,18 +858,19 @@ deps-backend:
862858

863859
.PHONY: deps-tools
864860
deps-tools:
865-
$(GO) install $(AIR_PACKAGE)
866-
$(GO) install $(EDITORCONFIG_CHECKER_PACKAGE)
867-
$(GO) install $(GOFUMPT_PACKAGE)
868-
$(GO) install $(GOLANGCI_LINT_PACKAGE)
869-
$(GO) install $(GXZ_PACKAGE)
870-
$(GO) install $(MISSPELL_PACKAGE)
871-
$(GO) install $(SWAGGER_PACKAGE)
872-
$(GO) install $(XGO_PACKAGE)
873-
$(GO) install $(GO_LICENSES_PACKAGE)
874-
$(GO) install $(GOVULNCHECK_PACKAGE)
875-
$(GO) install $(ACTIONLINT_PACKAGE)
876-
$(GO) install $(GOPLS_PACKAGE)
861+
$(GO) install $(AIR_PACKAGE) & \
862+
$(GO) install $(EDITORCONFIG_CHECKER_PACKAGE) & \
863+
$(GO) install $(GOFUMPT_PACKAGE) & \
864+
$(GO) install $(GOLANGCI_LINT_PACKAGE) & \
865+
$(GO) install $(GXZ_PACKAGE) & \
866+
$(GO) install $(MISSPELL_PACKAGE) & \
867+
$(GO) install $(SWAGGER_PACKAGE) & \
868+
$(GO) install $(XGO_PACKAGE) & \
869+
$(GO) install $(GO_LICENSES_PACKAGE) & \
870+
$(GO) install $(GOVULNCHECK_PACKAGE) & \
871+
$(GO) install $(ACTIONLINT_PACKAGE) & \
872+
$(GO) install $(GOPLS_PACKAGE) & \
873+
wait
877874

878875
node_modules: package-lock.json
879876
npm install --no-save
@@ -891,6 +888,8 @@ update-js: node-check | node_modules
891888
npx updates -u -f package.json
892889
rm -rf node_modules package-lock.json
893890
npm install --package-lock
891+
npx nolyfill install
892+
npm install --package-lock
894893
@touch node_modules
895894

896895
.PHONY: update-py

SECURITY.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ Please **DO NOT** file a public issue, instead send your report privately to `se
1414

1515
Due to the sensitive nature of security information, you can use the below GPG public key to encrypt your mail body.
1616

17-
The PGP key is valid until June 24, 2024.
17+
The PGP key is valid until July 9, 2025.
1818

1919
```
2020
Key ID: 6FCD2D5B
2121
Key Type: RSA
22-
Expires: 6/24/2024
22+
Expires: 7/9/2025
2323
Key Size: 4096/4096
2424
Fingerprint: 3DE0 3D1E 144A 7F06 9359 99DC AAFD 2381 6FCD 2D5B
2525
```
@@ -40,20 +40,20 @@ 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
@@ -64,20 +64,20 @@ qoExANj5lUTZPe8M50lI182FrcjAN7dClO3QI6pg7wy0erMxfFly3j8UQ91ysS9T
6464
s+GsP9I3cmWWQcKYxWHtE8xTXnNCVPFZQj2nwhJzae8ypfOtulBRA3dUKWGKuDH/
6565
axFENhUsT397aOU3qkP/od4a64JyNIEo4CTTSPVeWd7njsGqli2U3A4xL2CcyYvt
6666
D/MWcMBGEoLSNTswwKdom4FaJpn5KThnK/T0bQcmJblJhoCtppXisbexZnCpuS0x
67-
Zdlm2T14KJ3LABEBAAGJAjwEGAEIACYWIQQ94D0eFEp/BpNZmdyq/SOBb80tWwUC
68-
YrVn/gIbDAUJA8JnAAAKCRCq/SOBb80tWyTBD/9AGpW6QoDF7zYjHAozH9S5RGCA
69-
Y7E82dG/0xmFUwPprAG0BKmmgU6TiipyVGmKIXGYYYU92pMnbvXkYQMoa+WJNncN
70-
D3fY52UeXeffTf4cFpStlzi9xgYtOLhFamzYu/4xhkjOX+xhOSXscCiFRyT8cF3B
71-
O6c5BHU+Zj0/rGPgOyPUbx7l7B9MubB/41nNX35k08e+8T3wtWDb4XF+15HnRfva
72-
6fblO8wgU25Orv2Rm1jnKGa9DxJ8nE40IMrqDapENtDuL+zKJsvR0+ptWvEyL56U
73-
GtJJG5un6mXiLKuRQT0DEv4MdZRHDgDstDnqcbEiazVEbUuvhZZob6lRY2A19m1+
74-
7zfnDxkhqCA1RCnv4fdvcPdCMMFHwLpdhjgW0aI/uwgwrvsEz5+JRlnLvdQHlPAg
75-
q7l2fGcBSpz9U0ayyfRPjPntsNCtZl1UDxGLeciPkZhyG84zEWQbk/j52ZpRN+Ik
76-
ALpRLa8RBFmFSmXDUmwQrmm1EmARyQXwweKU31hf8ZGbCp2lPuRYm1LuGiirXSVP
77-
GysjRAJgW+VRpBKOzFQoUAUbReVWSaCwT8s17THzf71DdDb6CTj31jMLLYWwBpA/
78-
i73DgobDZMIGEZZC1EKqza8eh11xfyHFzGec03tbh+lIen+5IiRtWiEWkDS9ll0G
79-
zgS/ZdziCvdAutqnGA==
80-
=gZWO
67+
Zdlm2T14KJ3LABEBAAGJAjwEGAEIACYCGwwWIQQ94D0eFEp/BpNZmdyq/SOBb80t
68+
WwUCZoyyjQUJBbh+DwAKCRCq/SOBb80tW18XD/9MXztmf01MT+1kZdBouZ/7Rp/7
69+
9kuqo//B1G+RXau4oFtPqb67kNe2WaIc3u5B73PUHsMf3i6z4ib2KbMhZZerLn0O
70+
dRglcuPeNWmsASY3dH/XVG0cT0zvvWegagd12TJEl3Vs+7XNrOw4cwDj9L1+GH9m
71+
kSt4uaANWn/6a3RvMRhiVEYuNwhAzcKaactPmYqrLJgoVLbRSDkgyHaMQ2jKgLxk
72+
ifS/fvluGV0ub2Po6DJiqfRpd1tDvPhe9y1+r1WFDZsOcvTcZUfSt/7dXMGfqGu0
73+
2daVFlfeSXSALrDE5uc0UxodHCpP3sqRYDZevGLBRaaTkIjYXG/+N898+7K5WJF4
74+
xXOLWxM2cwGkG7eC9pugcDnBp9XlF7O+GBiZ05JUe5flXDQFZ+h3exjopu6KHF1B
75+
RnzNy8LC0UKb+AuvRIOLV92a9Q9wGWU/jaVDu6nZ0umAeuSzxiHoDsonm0Fl9QAz
76+
2/xCokebuoeLrEK7R2af3X86mqq3sVO4ax+HPYChzOaVQBiHUW/TAldWcldYYphR
77+
/e2WsbmQfvCRtz/bZfo+aUVnrHNjzVMtF2SszdVmA/04Y8pS28MqtuRqhm5DPOOd
78+
g1YeUywK5jRZ1twyo1kzJEFPLaoeaXaycsR1PMVBW0Urik5mrR/pOWq7PPoZoKb2
79+
lXYLE8bwkuQTmsyL1g==
80+
=9i7d
8181
-----END PGP PUBLIC KEY BLOCK-----
8282
8383
```

custom/conf/app.example.ini

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1488,15 +1488,19 @@ LEVEL = Info
14881488
;;
14891489
;; Default configuration for email notifications for users (user configurable). Options: enabled, onmention, disabled
14901490
;DEFAULT_EMAIL_NOTIFICATIONS = enabled
1491-
;; Disabled features for users, could be "deletion", "manage_ssh_keys","manage_gpg_keys" more features can be disabled in future
1491+
;; Disabled features for users could be "deletion", "manage_ssh_keys", "manage_gpg_keys", "manage_mfa", "manage_credentials" more features can be disabled in future
14921492
;; - deletion: a user cannot delete their own account
14931493
;; - manage_ssh_keys: a user cannot configure ssh keys
14941494
;; - manage_gpg_keys: a user cannot configure gpg keys
1495+
;; - manage_mfa: a user cannot configure mfa devices
1496+
;; - manage_credentials: a user cannot configure emails, passwords, or openid
14951497
;USER_DISABLED_FEATURES =
1496-
;; Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be `deletion`, `manage_ssh_keys`, `manage_gpg_keys`. This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
1498+
;; Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be "deletion", "manage_ssh_keys", "manage_gpg_keys", "manage_mfa", "manage_credentials". This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
14971499
;; - deletion: a user cannot delete their own account
14981500
;; - manage_ssh_keys: a user cannot configure ssh keys
14991501
;; - manage_gpg_keys: a user cannot configure gpg keys
1502+
;; - manage_mfa: a user cannot configure mfa devices
1503+
;; - manage_credentials: a user cannot configure emails, passwords, or openid
15001504
;;EXTERNAL_USER_DISABLE_FEATURES =
15011505

15021506
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -1672,6 +1676,10 @@ LEVEL = Info
16721676
;; Sometimes it is helpful to use a different address on the envelope. Set this to use ENVELOPE_FROM as the from on the envelope. Set to `<>` to send an empty address.
16731677
;ENVELOPE_FROM =
16741678
;;
1679+
;; If gitea sends mails on behave of users, it will just use the name also displayed in the WebUI. If you want e.g. `Mister X (by CodeIt) <[email protected]>`,
1680+
;; set it to `{{ .DisplayName }} (by {{ .AppName }})`. Available Variables: `.DisplayName`, `.AppName` and `.Domain`.
1681+
;FROM_DISPLAY_NAME_FORMAT = {{ .DisplayName }}
1682+
;;
16751683
;; Mailer user name and password, if required by provider.
16761684
;USER =
16771685
;;

docs/.gitignore

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)