Commit Graph

20821 Commits

Author SHA1 Message Date
Jonathan Miller 1ccb6ddede fix: run go commands from src/ directory instead of using ./src/...
Deploy MokoGitea / build-and-deploy (push) Has been cancelled
The go.work indirection doesn't fully resolve modules when running
from root. Fix by cd'ing into src/ for all go commands:
- go build: cd src && go build -o ../gitea
- go generate: cd src && go generate ./...
- go get: cd src && go get -u ./...
- govulncheck: cd src && govulncheck ./...
- GO_TEST_PACKAGES: cd src && go list ./...

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-16 08:26:26 -05:00
Jonathan Miller b4268f9be0 fix: add go mod download step before build
The go.work workspace needs modules downloaded from src/ directory
before go build can resolve dependencies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-16 08:12:26 -05:00
Jonathan Miller 13d1cdcac5 fix: update go:generate bindata paths for src/ layout
Deploy MokoGitea / build-and-deploy (push) Has been cancelled
Fix relative paths in bindata generation directives:
- options, public, templates: ../../X → ../../../X (assets at repo root)
- migration/schemas: ../../modules/migration/schemas → ./schemas (same dir)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-16 08:03:48 -05:00
Jonathan Miller f8a5bba73d fix: update Makefile go commands for src/ workspace layout
Deploy MokoGitea / build-and-deploy (push) Has been cancelled
Fix go generate, go build, go get, and govulncheck to use ./src/...
instead of ./... — required for go.work workspace resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 21:29:45 -05:00
Jonathan Miller c3dd9d3035 ci: add deploy workflow to .gitea/workflows for current server
Mirror of .mokogitea/workflows/deploy-mokogitea.yml — needed until
the new codebase with .mokogitea support is deployed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 21:21:45 -05:00
Jonathan Miller 3d37e90bbd fix: use DEPLOY_ prefixed secrets in deploy workflow
Use dedicated deploy user secrets to avoid exposing admin credentials:
- DEPLOY_GITEA_TOKEN — deploy bot API token
- DEPLOY_GITEA_USER — deploy bot username (moko-deploy)
- DEPLOY_SSH_KEY — deploy SSH key

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 21:20:10 -05:00
Jonathan Miller 1b28b66117 feat: add 12 CI/CD workflows adapted from upstream Gitea
Create MokoGitea equivalents of all upstream Gitea GitHub Actions:
- pull-compliance: lint, format, spell check, backend/frontend builds
- pull-db-tests: MySQL, PostgreSQL, SQLite, MSSQL integration tests
- pull-e2e-tests: Playwright end-to-end tests
- pull-docker-dryrun: Docker build verification
- pull-pr-title: Conventional Commits PR title validation
- pull-labeler: auto-label PRs by changed files
- files-changed: reusable file change detection
- cache-seeder: Go module/build cache seeding
- release-tag-version: release creation on version tags
- release-tag-rc: release candidate builds
- release-nightly: nightly builds from main
- cron-licenses: periodic license compliance

All adapted for Gitea Actions, src/ layout, and MokoGitea ecosystem.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 21:10:54 -05:00
Jonathan Miller 37bd848450 feat: add MokoGitea deploy workflow
Automated Docker build and deploy pipeline:
- Manual dispatch with version tag or auto on push to main
- Builds frontend + backend, pushes to Gitea container registry
- SSH deploys to production, updates docker-compose, health checks

Requires secrets: GITEA_TOKEN, GITEA_USER, DEPLOY_SSH_KEY

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 21:04:45 -05:00
Jonathan Miller 4191f410d4 feat: custom Moko Consulting logo on login and OpenGraph
Replace default Gitea logo.svg with Moko Consulting branding on:
- Home/login page (large logo)
- OpenID sign-in page
- OpenGraph meta image

Navbar favicon intentionally left as default.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 20:30:18 -05:00
Jonathan Miller dd531d4a76 feat: reorganize Go source into src/ with go.work workspace
Move all Go packages (cmd/, models/, modules/, routers/, services/,
tests/, build/, tools/) and go.mod/go.sum into src/ directory.

- Add go.work at root pointing to src/ module
- Update Makefile GO_DIRS, BINDATA, GENERATED paths
- Update Dockerfile and Dockerfile.rootless for src/ layout
- Update .air.toml watch paths
- Add .mokogitea support to issue/PR template discovery
- Add .mokogitea to file icon rules
- Reformat .mokogitea/workflows headers for ecosystem
- Strip upstream GitHub links from workflows

Zero import changes — all code.gitea.io/gitea/* imports resolve
via go.work workspace indirection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 20:29:15 -05:00
Jonathan Miller 96eb394a17 feat: add .mokogitea directory support alongside .gitea and .github
MokoGitea now recognizes .mokogitea/ as a first-class directory for:
- Workflow files (.mokogitea/workflows/) with highest priority
- README rendering from .mokogitea/ directory
- Repository template files (.mokogitea/template)
- Vendor path exclusion

The .gitea and .github directories remain supported for compatibility.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 20:19:43 -05:00
Jonathan Miller ddbd592c2f fix: restore dropzone imports from upstream v1.26.1
The merge conflict resolution incorrectly kept @deltablot/dropzone
imports instead of upstream's dropzone package, causing vite build
failure on unresolved import.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 20:08:59 -05:00
Jonathan Miller 869586c582 fix: export initRepoPullRequestUpdate for upstream compatibility
Another merge conflict artifact — function existed but wasn't exported,
causing the vite build to fail on missing export.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 20:25:51 -05:00
Jonathan Miller 02ac392fba fix: resolve upstream merge build errors
Fix duplicated isGiteaError export in errors.ts and add missing
refissue.ts from v1.26.1 merge.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 20:23:20 -05:00
jmiller a26d0bff90 Merge pull request 'feat(actions): show inherited org secrets/variables in repo settings' (#81) from feature/inherited-org-secrets into main 2026-05-13 01:17:18 +00:00
Jonathan Miller c0fccaa759 feat(actions): show inherited org secrets/variables in repo settings
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
When viewing repo-level Actions secrets or variables, also display
inherited org-level entries as read-only with an "overridden by
repository" badge when a repo entry shadows an org entry. Includes
a link to org settings for management.

Closes #78

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 20:03:19 -05:00
jmiller fabcc7ca03 Merge pull request 'merge: upstream Gitea v1.26.1 into MokoGitea' (#80) from merge/v1.26.1 into main 2026-05-13 00:56:32 +00:00
Jonathan Miller 31945210a0 merge: upstream Gitea v1.26.1 into MokoGitea
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
Merges 356 commits from upstream Gitea v1.26.1 (bugfix release).
Resolved conflicts in templates by keeping our HelpURL changes,
all other conflicts resolved by taking upstream.

Closes #70

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 19:52:45 -05:00
Jonathan Miller d2958254a0 feat(fork): complete MokoGitea fork separation from upstream Gitea
Remove upstream Gitea update checker, replace all docs.gitea.com references
with configurable HelpURL, rebrand default APP_NAME to MokoGitea, enforce
dot-prefixed repo privacy at creation time (create, fork, push-create), and
add system repo explanation in settings UI.

Closes #75, closes #76

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 19:27:12 -05:00
jmiller ef6a7dcfcf Merge pull request 'feat(repo): enforce dot-prefixed repos as always-private system repos' (#77) from feature/system-repo-private into main 2026-05-13 00:16:12 +00:00
Jonathan Miller c5eb8df8a2 feat(repo): enforce dot-prefixed repos as always-private system repos
compliance / files-changed (pull_request) Has been cancelled
pr-title / lint-pr-title (pull_request) Has been cancelled
db-tests / files-changed (pull_request) Has been cancelled
docker-dryrun / files-changed (pull_request) Has been cancelled
e2e-tests / files-changed (pull_request) Has been cancelled
compliance / lint-on-demand (pull_request) Has been cancelled
compliance / lint-backend (pull_request) Has been cancelled
compliance / frontend (pull_request) Has been cancelled
compliance / checks-backend (pull_request) Has been cancelled
compliance / backend (pull_request) Has been cancelled
db-tests / test-pgsql (pull_request) Has been cancelled
db-tests / test-sqlite (pull_request) Has been cancelled
db-tests / test-unit (pull_request) Has been cancelled
db-tests / test-mysql (pull_request) Has been cancelled
docker-dryrun / container-amd64 (pull_request) Has been cancelled
docker-dryrun / container-arm64 (pull_request) Has been cancelled
docker-dryrun / container-riscv64 (pull_request) Has been cancelled
db-tests / test-mssql (pull_request) Has been cancelled
e2e-tests / test-e2e (pull_request) Has been cancelled
compliance / lint-go-windows (pull_request) Has been cancelled
compliance / lint-go-gogit (pull_request) Has been cancelled
Repositories with names starting with "." are now treated as system
repositories that are always private and cannot be made public. This is
enforced at every code path: API create, web create, migrate, template
create, push-to-create, API edit, web settings, and public access
settings. On creation paths, privacy is silently forced. On edit paths,
a clear error is returned.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 19:12:00 -05:00
jmiller 32955397f0 Merge pull request 'release: promote dev to main — org branch protection & help URLs' (#73) from dev into main 2026-05-12 20:26:19 +00:00
jmiller 71105345ff Merge pull request 'feat(org): add org-level branch protection rulesets & configurable help URLs' (#72) from feature/org-branch-protection into dev
compliance / files-changed (pull_request) Has been cancelled
compliance / lint-on-demand (pull_request) Has been cancelled
db-tests / files-changed (pull_request) Has been cancelled
docker-dryrun / files-changed (pull_request) Has been cancelled
e2e-tests / files-changed (pull_request) Has been cancelled
compliance / lint-backend (pull_request) Has been cancelled
pr-title / lint-pr-title (pull_request) Has been cancelled
compliance / lint-go-windows (pull_request) Has been cancelled
compliance / lint-go-gogit (pull_request) Has been cancelled
compliance / checks-backend (pull_request) Has been cancelled
compliance / frontend (pull_request) Has been cancelled
compliance / backend (pull_request) Has been cancelled
e2e-tests / test-e2e (pull_request) Has been cancelled
db-tests / test-pgsql (pull_request) Has been cancelled
db-tests / test-sqlite (pull_request) Has been cancelled
db-tests / test-unit (pull_request) Has been cancelled
db-tests / test-mysql (pull_request) Has been cancelled
db-tests / test-mssql (pull_request) Has been cancelled
docker-dryrun / container-amd64 (pull_request) Has been cancelled
docker-dryrun / container-arm64 (pull_request) Has been cancelled
docker-dryrun / container-riscv64 (pull_request) Has been cancelled
2026-05-12 20:24:14 +00:00
Jonathan Miller e50e8ed851 feat(admin): add configurable Help/Support URLs and version convention
db-tests / files-changed (pull_request) Has been cancelled
docker-dryrun / files-changed (pull_request) Has been cancelled
labeler / labeler (pull_request_target) Has been cancelled
compliance / files-changed (pull_request) Has been cancelled
pr-title / lint-pr-title (pull_request) Has been cancelled
e2e-tests / files-changed (pull_request) Has been cancelled
db-tests / test-pgsql (pull_request) Has been cancelled
db-tests / test-sqlite (pull_request) Has been cancelled
db-tests / test-mysql (pull_request) Has been cancelled
docker-dryrun / container-amd64 (pull_request) Has been cancelled
docker-dryrun / container-arm64 (pull_request) Has been cancelled
docker-dryrun / container-riscv64 (pull_request) Has been cancelled
db-tests / test-mssql (pull_request) Has been cancelled
compliance / lint-on-demand (pull_request) Has been cancelled
compliance / lint-go-windows (pull_request) Has been cancelled
compliance / lint-go-gogit (pull_request) Has been cancelled
compliance / frontend (pull_request) Has been cancelled
compliance / checks-backend (pull_request) Has been cancelled
compliance / backend (pull_request) Has been cancelled
e2e-tests / test-e2e (pull_request) Has been cancelled
db-tests / test-unit (pull_request) Has been cancelled
compliance / lint-backend (pull_request) Has been cancelled
- Add HELP_URL and SUPPORT_URL settings to app.ini (defaults to docs.gitea.com)
- Replace hardcoded docs.gitea.com in navbar with configurable HelpURL
- Expose HelpURL/SupportURL template functions
- Show Help URL and Support URL in Site Admin > Configuration
- Add locale strings for new admin config entries
- Create VERSION file (gitignored) for local builds with 1261.0.0 convention

The 1261.xx.xx version convention marks the fork starting point from
upstream Gitea. Set via VERSION file locally or GITEA_VERSION env in CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 15:11:49 -05:00
Jonathan Miller 3396440926 feat(org): add org-level branch protection rulesets
Add organization-scoped branch protection rules that cascade to all
repos within the org. Repo-level rules take precedence; org rules
serve as the fallback when no repo rule matches a branch.

- New table: org_protected_branch (migration v332)
- OrgProtectedBranch model with full CRUD operations
- API endpoints: GET/POST/PATCH/DELETE /api/v1/orgs/{org}/branch_protections
- Inheritance via GetFirstMatchProtectedBranchRule() fallback
- InheritedFrom field added to BranchProtection API response
- Org rules use team-based whitelists (no per-user IDs at org level)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 15:02:41 -05:00
jmiller e2e1073f10 chore: add PR branch policy check workflow [skip ci] 2026-05-11 17:15:48 +00:00
jmiller c2eb430d3a docs: update README from wiki Home
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-10 18:39:37 +00:00
Jonathan Miller 809e9d2bf3 feat(api): add custom fields on issues
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
New tables: custom_field_definition, custom_field_value
Supports field types: text, number, date, dropdown, checkbox

Endpoints:
- GET/POST /repos/{owner}/{repo}/custom-fields
- GET/PATCH/DELETE /repos/{owner}/{repo}/custom-fields/{fieldId}
- GET /repos/{owner}/{repo}/issues/{index}/custom-fields
- PUT /repos/{owner}/{repo}/issues/{index}/custom-fields/{fieldId}
- DELETE /repos/{owner}/{repo}/issues/{index}/custom-fields/{fieldId}

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-07 22:37:43 -05:00
silverwind 6a509da96e refactor: lint bare fill/stroke colors, add vars for git graph color series (#37543)
- make `scale-unlimited/declaration-strict-value` cover fill and stroke
- add new color vars for color series in gitgraph
- move most rule disablement to per-line
- remove dead highlight colors since https://github.com/go-gitea/gitea/pull/34948
- move stylelint config to ts now that the linked issue is fixed

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-07 21:18:23 +00:00
Nicolas 601c6eb1a0 fix(actions): report individual step status in workflow job API response (#37592)
When a workflow job failed, the API response reported all steps as
failed — even steps that had completed successfully before the failing
step. `ToActionWorkflowJob` was calling `ToActionsStatus(job.Status)`
for every step instead of `ToActionsStatus(step.Status)`, so the job's
overall conclusion was propagated to each step.

Each `ActionTaskStep` has its own `Status` field that tracks the actual
outcome of that step independently of the job result.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-07 20:30:34 +02:00
silverwind e9f82b0ee3 ci: allow chore type in PR title lint (#37575)
Follow-up to #37498, adds `chore` to the allowed PR title types so the
set matches the standard
[`@commitlint/config-conventional`](https://github.com/conventional-changelog/commitlint/tree/868983c18efcb6fa835197cc9b2275545e528ad4/%40commitlint/config-conventional#type-enum).

---
This PR was written with the help of Claude Opus 4.7

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-07 17:18:10 +00:00
silverwind 3e69d6adbe refactor: remove obsolete export (#37579)
Leftover from
https://github.com/go-gitea/gitea/commit/2644bb8490e7d6e3be5c4548b02c76eacd196569,
not needed because module no longer does top-level-await.

Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-07 17:12:52 +00:00
Nicolas c9b9e376fb fix: Invalid UTF-8 commit messages in JSON API responses (#37542) 2026-05-07 16:19:45 +02:00
Nicolas 2200ed7499 fix: use consistent GetUser family functions (#37553)
fixes adding collaborative owners in Actions settings when the user or
organization name contains capital letters.

Fixes #37548

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-07 06:10:19 +00:00
Kausthubh J Rao 19f01691d5 fix(api): return 409 message instead of empty JSON for wrong commit id (#37572)
## Issue
Closes #37217 

The error string was getting lost while returning due to `ctx.JSON()`
which cannot serialize the `error` object.

## Fix

Use `ctx.APIError()` to return proper error messages back to the client.
2026-05-07 02:03:08 +00:00
Kausthubh J Rao 630258410d fix(actions): prevent panic when workflow contains null jobs (#37570)
## The issue

Closes #37568. Basically due to empty fields being present in the
actions file, the jobs would be produced as `nil` inside `jobparser.go`
. Because of this when we call `Parse` on the `jobparser` module.

```go
Needs:   job.Needs(),
```

would propagate the `nil` job down the chain. 

## The fix

For now i decide to fix it by guarding with an `if job == nil` check.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2026-05-07 01:36:34 +00:00
GiteaBot cf48aa0188 [skip ci] Updated translations via Crowdin 2026-05-07 01:06:22 +00:00
wxiaoguang a39af1a829 refactor: use modernc sqlite driver as default (#37562)
The mattn driver is still kept, can be enabled by
TAGS="sqlite_mattn sqlite_unlock_notify"

---------

Co-authored-by: TheFox0x7 <thefox0x7@gmail.com>
2026-05-06 18:57:59 +00:00
Copilot b093c2c43c refactor(templates): remove ctxData from tmpl files, use ctx.RootData instead (#37567)
Sub-templates have direct access to `ctx.RootData` (the root data map),
so there is no need for callers to explicitly pass it as `ctxData` via `dict`.

Also fix #37569 by the way

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wxiaoguang <2114189+wxiaoguang@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-06 18:21:48 +00:00
silverwind ebc058f682 ci: increase renovate frequency and fix RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS (#37565)
1. Sync `RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS` with the recent
`renovate.json5` change (#37537) — the npm group now runs `make svg
nolyfill`, but the workflow allowlist still only matched `^make
(tidy|svg)$`, so the post-upgrade task was being rejected.
2. Bump the cron from daily at 01:00 UTC to hourly at :23, matching the
cadence of Mend's hosted Renovate App. Hourly gives sub-hour
responsiveness to dependency-dashboard checkbox interactions and
PR-close reactions; the `:23` offset avoids the GHA scheduler congestion
at multiples of 15.

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-06 18:37:09 +02:00
Giteabot 35dfc6b9e1 fix(deps): update go dependencies (#37541)
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-06 06:58:09 +00:00
silverwind 97211bf0c5 refactor(deps): migrate from nektos/act fork to gitea/runner (#37557)
Migrate to https://gitea.com/gitea/runner/releases/tag/v1.0.0 which
includes the `act` package directory previously referenced by
`nektos/act`.

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-06 05:54:31 +02:00
Nicolas 45ffe5aa6a ci: lint PR titles with commitlint (#37498)
## Summary
- Enforce **Conventional Commits** on PR titles (PRs are squash-merged,
so the PR title becomes the final commit message).
- Add a local `make lint-pr-title` target so contributors can validate
titles before pushing.

## Why
We squash-merge PRs, which means the final repository history is largely
shaped by **PR titles**. Enforcing a consistent Conventional Commits
format makes:
- **Release notes & changelogs easier to generate** (types like `feat` /
`fix` can be grouped automatically).
- **History easier to scan** (uniform structure, optional scopes,
explicit breaking changes via `!`).
- **Automation more reliable** (future tooling can infer category and
scope from the title).

## PR title format
```text
type(scope)!: subject
type: one of build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test
scope: optional (e.g. web, api, actions, repo, …)
!: optional, indicates a breaking change
subject: short, imperative, no trailing period
```

## Examples
```text
feat(web): add dark mode toggle
fix(api): avoid panic when repo is missing
chore(ci): lint PR titles with commitlint
refactor(templates): reduce duplication in repo list rendering
feat!: remove legacy OAuth endpoint
```

## Local testing
```text
make deps-frontend
make lint-pr-title PR_TITLE="feat(web): add dark mode toggle"
```

---------

Signed-off-by: Nicolas <bircni@icloud.com>
Co-authored-by: nb <nb@users.noreply.local>
Co-authored-by: GPT-5.2 <gpt-5.2@openai.com>
2026-05-05 17:24:09 +00:00
wxiaoguang a5fd8e7e86 Make ServeSetHeaders default to download attachment if filename exists (#37552)
Fix #37550
2026-05-05 16:41:49 +00:00
Kalash Thakare ☯︎ ee803ad05d fix(actions): validate workflow param to prevent 500 error (#37546)
Fix #37523
2026-05-05 16:19:52 +00:00
wxiaoguang 6ba907d89c Fix various problems (#37547)
1. Fix ugly commit form "warning" message
2. Use JSONError for "Update PR Branch" response 
3. Remove useless "timeline" class
4. Make timeline review default to "comment" to avoid icon missing
5. Align PR's "command line instructions" UI
6. Simply "Update PR branch" button logic

And then some TODOs are fixed.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-05 15:54:07 +00:00
premsreelathasugeendran 5e8004a515 docs: fix 4 typos in CHANGELOG.md (#37549)
Docs polish — pure typo fixes, nothing under `src/`.

## Files

- `CHANGELOG.md`
  - line 1386: `appearence` → `appearance`
  - line 2117: `succesfully` → `successfully`
  - line 2301: `preceeded` → `preceded`
  - line 5593: `paramater` → `parameter`

Fixes were applied from a curated correction list, with code blocks /
inline code / URLs left alone.
2026-05-05 17:25:44 +02:00
GiteaBot c471af4266 [skip ci] Updated translations via Crowdin 2026-05-05 01:01:53 +00:00
Giteabot 62300eab3b chore(deps): update action dependencies (#37540)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [bitnamilegacy/minio](https://redirect.github.com/bitnami/containers)
([source](https://redirect.github.com/bitnami/containers/tree/HEAD/bitnami/minio))
| service | minor | `2021.3.17` → `2021.12.29` | |
| [bitnamilegacy/minio](https://redirect.github.com/bitnami/containers)
([source](https://redirect.github.com/bitnami/containers/tree/HEAD/bitnami/minio))
| service | minor | `2023.8.31` → `2023.12.23` | |
| [bitnamilegacy/mysql](https://redirect.github.com/bitnami/containers)
([source](https://redirect.github.com/bitnami/containers/tree/HEAD/bitnami/mysql))
| service | minor | `8.0` → `8.4` | |
|
[renovatebot/github-action](https://redirect.github.com/renovatebot/github-action)
| action | patch | `v46.1.10` → `v46.1.12` | `v46.1.13` |

---

### Release Notes

<details>
<summary>renovatebot/github-action (renovatebot/github-action)</summary>

###
[`v46.1.12`](https://redirect.github.com/renovatebot/github-action/releases/tag/v46.1.12)

[Compare
Source](https://redirect.github.com/renovatebot/github-action/compare/v46.1.11...v46.1.12)

##### Bug Fixes

- **deps:** update dependency
[@&#8203;actions/core](https://redirect.github.com/actions/core) to
v3.0.1
([e8a6055](https://redirect.github.com/renovatebot/github-action/commit/e8a6055d6d0dc2ca2280adc33c7b58f3fb124d12))

##### Documentation

- update references to renovatebot/github-action to v46.1.11
([317011a](https://redirect.github.com/renovatebot/github-action/commit/317011a6efe6b58d6056f58ca8b431233eb718ab))

##### Miscellaneous Chores

- **deps:** update dependency typescript-eslint to v8.59.0
([8e3560a](https://redirect.github.com/renovatebot/github-action/commit/8e3560ab95742bc3c7aaec7c2dd1cc3d0d276ae5))

##### Continuous Integration

- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.142.0
([0fee00d](https://redirect.github.com/renovatebot/github-action/commit/0fee00dc59830af7f44ea0636b251550e54f5003))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.142.1
([c7cfc88](https://redirect.github.com/renovatebot/github-action/commit/c7cfc8825059e6fa4bd036b39a06e0477d58f403))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.144.0
([39e7d09](https://redirect.github.com/renovatebot/github-action/commit/39e7d09c7b2ce19c8c834ffe556e9965c119c885))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.145.0
([0bbd415](https://redirect.github.com/renovatebot/github-action/commit/0bbd415a9c49a001a228460b287027d8a3739e8a))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.146.0
([889c739](https://redirect.github.com/renovatebot/github-action/commit/889c7399cadabbf2657b872978141f03c9376640))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.147.0
([7addce6](https://redirect.github.com/renovatebot/github-action/commit/7addce6f1e02342b36c2cb1a66db30345a2f109d))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.150.0
([804ce16](https://redirect.github.com/renovatebot/github-action/commit/804ce1618f0c132478fd9c086d6febd009a723d0))

###
[`v46.1.11`](https://redirect.github.com/renovatebot/github-action/releases/tag/v46.1.11)

[Compare
Source](https://redirect.github.com/renovatebot/github-action/compare/v46.1.10...v46.1.11)

##### Documentation

- update references to renovatebot/github-action to v46.1.10
([0b264d2](https://redirect.github.com/renovatebot/github-action/commit/0b264d27f89fd1eb163fba418b0dbfe86c041395))

##### Miscellaneous Chores

- **deps:** update actions/setup-node action to v6.4.0
([951a814](https://redirect.github.com/renovatebot/github-action/commit/951a81487afda3e08b127fef395e29498fd9d06c))
- **deps:** update dependency prettier to v3.8.3
([a763833](https://redirect.github.com/renovatebot/github-action/commit/a763833a7d8da309d202e5fc67bc794efc7dc115))
- **deps:** update dependency typescript-eslint to v8.58.2
([119d68e](https://redirect.github.com/renovatebot/github-action/commit/119d68e8f6114a37630c0a3a61aac696d593aa52))

##### Build System

- **deps:** lock file maintenance
([f82feed](https://redirect.github.com/renovatebot/github-action/commit/f82feedb561edc809d01476b568febf8d256a51a))

##### Continuous Integration

- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.132.3
([99cc805](https://redirect.github.com/renovatebot/github-action/commit/99cc805d7583672991fd1bfe2ce488eac225f8f0))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.133.0
([a63d39b](https://redirect.github.com/renovatebot/github-action/commit/a63d39be1e95f4aaa26c72acbdf1c65673468261))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.135.0
([955b000](https://redirect.github.com/renovatebot/github-action/commit/955b0000ba399f944be088f7a4409a4c8fc0b699))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.136.0
([65167cd](https://redirect.github.com/renovatebot/github-action/commit/65167cdb3f2b345241ea67249f4b238934933bcc))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.136.1
([7b21b86](https://redirect.github.com/renovatebot/github-action/commit/7b21b86cedd4f06966dca17027c7c67625e599cd))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.136.3
([28a2dc0](https://redirect.github.com/renovatebot/github-action/commit/28a2dc07b816f5893a6496d35b4b02742445c3c4))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.137.0
([b0cf2a4](https://redirect.github.com/renovatebot/github-action/commit/b0cf2a4c9132b74c57aae8fcbb45a6aacd414022))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.138.0
([3700882](https://redirect.github.com/renovatebot/github-action/commit/3700882c45d6eda087650c0edc72ba408f5b7a2e))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.138.1
([f516ce2](https://redirect.github.com/renovatebot/github-action/commit/f516ce2f9261f68e96edd1499111ddb5077033bb))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.138.3
([3411548](https://redirect.github.com/renovatebot/github-action/commit/3411548d9c9b822a7473c563535824c03a19df6a))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.0
([5201886](https://redirect.github.com/renovatebot/github-action/commit/5201886b45291615a4f0b21fd08181cfe8123ba6))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.1
([5856263](https://redirect.github.com/renovatebot/github-action/commit/5856263af8004562a8d50daf5c18b7a1a71920f8))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.4
([999691d](https://redirect.github.com/renovatebot/github-action/commit/999691d7f3780b09bcd4e90e081bbce6b452ab25))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.5
([f703a54](https://redirect.github.com/renovatebot/github-action/commit/f703a541309bb776377323a91735fa747d6efc39))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.6
([3ba85c2](https://redirect.github.com/renovatebot/github-action/commit/3ba85c2979436007460d9ccf3f87bd0a4ef5e1ea))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.7
([96f2f09](https://redirect.github.com/renovatebot/github-action/commit/96f2f09b9d7c8e6946b489aab3ca6f713a3bfbdc))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.139.8
([5af45e5](https://redirect.github.com/renovatebot/github-action/commit/5af45e5b84b145ee1e14929493f8f054d922b441))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.140.0
([01e9139](https://redirect.github.com/renovatebot/github-action/commit/01e91393d3c71fe95aec074539d4a0d9dc57068b))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.141.0
([814a2a4](https://redirect.github.com/renovatebot/github-action/commit/814a2a47c0d23dad8d1f7302ade33a5bd966a8c7))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.141.1
([fb3abdf](https://redirect.github.com/renovatebot/github-action/commit/fb3abdf7fa349ce51fd43364aa917f213f4d476c))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.141.2
([e3a9af5](https://redirect.github.com/renovatebot/github-action/commit/e3a9af55ac512810165fe6f630d88fa4b02f0dca))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.141.5
([4f14b2f](https://redirect.github.com/renovatebot/github-action/commit/4f14b2f81dd01dfd999aed7088db38a5e8042f08))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.141.6
([2357784](https://redirect.github.com/renovatebot/github-action/commit/23577849552717b7ae5cdbb05082e5cc99e25dce))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuNSIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2026-05-04 23:06:00 +00:00
silverwind 762154cbd7 fix: Fix nolyfill for renovate (#37537)
Run `nolyfill` as a renovate post-upgrade step alongside `make svg`, so
npm dep bumps keep `pnpm.overrides` in sync.

---
This PR was written with the help of Claude Opus 4.7

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-04 21:39:20 +00:00