2
0

4565 Commits

Author SHA1 Message Date
07738be978 feat(explore): add organization grouping on explore page
Adds optional group_header field to organizations for categorizing them on the explore page (e.g., "Enterprise", "Community", "Partners"). Includes database migration, organization settings form field, and grouped display template. Groups are sorted alphabetically with ungrouped organizations shown last. Users can toggle grouping view with show_groups parameter.
2026-01-18 13:08:30 -05:00
ad81b22fca feat(repo): add group header field for repository organization
Adds a GroupHeader field to repositories allowing them to be grouped under custom headers on organization pages. Includes database migration v333, form handling, and grouped/ungrouped view toggle in the UI.
2026-01-18 11:20:03 -05:00
be2db6726b fix: assign jobs to unhealthy runners if they're the only option
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Build and Release / Unit Tests (push) Successful in 3m21s
Build and Release / Lint (push) Successful in 5m6s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 3m57s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 2m58s
Build and Release / Build Binaries (amd64, darwin, macos) (push) Successful in 4m25s
Build and Release / Build Binaries (arm64, darwin, macos) (push) Successful in 4m38s
Build and Release / Build Binary (linux/arm64) (push) Failing after 1m15s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Failing after 8h6m4s
When an unhealthy runner is the only one that can handle a job (e.g., the
only macos runner), assign the job anyway instead of leaving it stuck in
waiting state indefinitely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 00:22:50 -05:00
12f4ea03a8 refactor: add /v3 suffix to module path for proper Go semver
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Trigger Vault Plugin Rebuild / Trigger Vault Rebuild (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m48s
Build and Release / Lint (push) Failing after 5m2s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 5m37s
Go's semantic import versioning requires v2+ modules to include the
major version in the module path. This enables using proper version
tags (v3.x.x) instead of pseudo-versions.

Updated module path: code.gitcaddy.com/server/v3
2026-01-17 17:53:59 -05:00
ee809f4747 fix: use GetXORMEngine for plugin migrations
All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Unit Tests (push) Successful in 3m17s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 4m46s
Build and Release / Lint (push) Successful in 4m53s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Successful in 3m1s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 3m29s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 3m45s
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Successful in 3m56s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 9h4m55s
The GetEngine function returns a session, not the raw engine.
Added GetXORMEngine() function to db package for cases like
migrations that need the raw xorm.Engine.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 10:44:59 -05:00
af6d4addd4 code.caddy rename
All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 3m7s
Build and Release / Lint (push) Successful in 5m21s
Build and Release / Unit Tests (push) Successful in 5m46s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 3m44s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Successful in 4m4s
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Successful in 3m23s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 3m47s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 8h6m28s
2026-01-17 09:02:21 -05:00
GitCaddy
d724d1eb64 Fix gofmt formatting
All checks were successful
Build and Release / Create Release (push) Successful in 1s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m31s
Build and Release / Lint (push) Successful in 5m37s
Build and Release / Unit Tests (push) Successful in 5m20s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 2m28s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 2m58s
Build and Release / Build Binaries (arm64, darwin, macos-latest) (push) Successful in 3m9s
Build and Release / Build Binaries (amd64, darwin, macos-latest) (push) Successful in 3m19s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 9h6m33s
2026-01-16 00:32:35 +00:00
GitCaddy
ee89fe4960 Fix workflow filter support, AI Learning any option, server stats types, and actions clear buttons
- Add workflow filter to clear-cancelled, clear-failed, clear-running, clear-old-success
- Add any option to AI Learning runner type filter
- Fix ServerStats int64 types for FileSize template function
- Add CPULoad field with platform-specific implementations
- Fix actions list template with conditional button visibility
- Use Gitea styled modal dialogs for all clear buttons

🤖 Generated with Claude Code
2026-01-16 00:27:03 +00:00
GitCaddy
7e1332b035 v2.1.4: Add bandwidth-aware job routing
Some checks are pending
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
- Prefer faster runners when multiple can handle a job
- Score runners by bandwidth (log scale) minus latency penalty
- Configurable threshold (default 20 points) prevents slow runner starvation
- Slower runners still get jobs when faster ones are busy or unavailable
- New settings: BANDWIDTH_AWARE_ROUTING, BANDWIDTH_SCORE_THRESHOLD

🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 15:33:51 +00:00
GitCaddy
101b7b142e Add Force Cleanup button to runner edit page
- Add CleanupRequestedAt field to runner model
- Add RunnerRequestCleanup handler to set cleanup timestamp
- Add force-cleanup route for POST requests
- Add orange Force Cleanup button next to Check Bandwidth
- Runner will check this timestamp and perform cleanup when set

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 12:50:52 +00:00
GitCaddy
98d26f00b3 Add runner activity view and job wait time display
- Add GetCurrentTaskByRunnerID and GetCurrentTasksForRunners functions
- Update RunnersStatusJSON to include current task info for each runner
- Add Current Task column to runner list showing running job duration
- Add wait time display to queue depth (shows oldest waiting job age)
- Queue labels now show: label: N (Xh Ym) for jobs waiting time
- Auto-refreshing every 30 seconds via AJAX polling

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 12:38:13 +00:00
GitCaddy
dbd464225b Add queue depth indicator and stuck job alerts to runners page
- Add GetQueueDepthByLabels function to query waiting jobs by labels
- Add QueueDepthJSON endpoint to return queue depth data
- Update runner_list.tmpl to show queue depth with visual indicators
- Show warnings for jobs waiting > 30 minutes (stuck jobs)
- Labels colored by severity: blue (normal), yellow (>5 waiting), red (stuck)
- Add queue_depth locale string

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 12:33:20 +00:00
GitCaddy
6ca11bc207 feat(actions): add Clear Running, workflow filter for disk usage, conditional buttons
- Add Clear Running button to delete stuck running workflow runs
- Disk usage now filters by selected workflow
- Clear buttons only appear when corresponding status has runs
- Rename ActionsDiskUsage to DiskUsage (lint fix)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-15 12:15:52 +00:00
GitCaddy
388ea5264b feat(actions): add Clear Old Success button with configurable age
Adds a button to clear successful workflow runs older than a configurable
number of days (1, 3, 5, 7, 14, or 30 days), defaulting to 5 days.

- Add ClearOldSuccess handler in view.go
- Add DeleteSuccessRunsOlderThan service function
- Add GetSuccessRunIDsOlderThan model function
- Add route /clear-old-success
- Add translations for clear_old_success and clear_old_success_confirm
- Update list.tmpl with dropdown selector and button

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 01:43:20 +00:00
GitCaddy
c02e648a3e feat(actions): add bulk delete and disk usage display for repo admins
- Add disk usage statistics endpoint (GET /actions/disk-usage)
- Add Clear Cancelled button to delete all cancelled workflow runs
- Add Clear Failed button to delete all failed workflow runs
- Show disk usage breakdown by status on Actions page sidebar
- Repo admins only feature

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:07:38 +00:00
GitCaddy
a9c04be5cc chore: Fix linter issues and update copyrights
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Format Go files with gofmt
- Fix perfsprint lint issues in mail_runner_health.go
- Fix editorconfig issues in templates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 09:41:09 +00:00
GitCaddy
ba5d406157 feat: Add runner health UI - unhealthy status display and CPU monitoring tile
- Add unhealthy status display on runners list page (yellow color when online but unhealthy)
- Add is_healthy field to RunnersStatusJSON API response
- Add CPUInfo struct to RunnerCapability for CPU load monitoring
- Add CPU tile to runner edit page showing load percentage and CPU count
- Add real-time JavaScript polling for CPU tile updates
- Add locale string for unhealthy status

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 09:09:44 +00:00
GitCaddy
8a904de418 feat: Add runner health monitoring with CPU load and disk cleanup
- Add RunnerHealthCheckSettings with CPU load threshold (MaxCPULoadPercent)
- Add CPUInfo struct to runner capabilities
- Add RunnerCleanupRequest model for tracking cleanup requests
- Add GetPendingCleanupRequest for FetchTask cleanup signaling
- Server FetchTask now sets RequestCleanup flag when cleanup is needed
- Add health monitoring background service with email alerts
- Skip unhealthy runners (low disk, high CPU, high latency) during job assignment

🤖 Generated with Claude Code
2026-01-14 08:48:36 +00:00
GitCaddy
cc94fe6e34 fix: Use gitea modules/json instead of encoding/json
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
2026-01-14 07:47:55 +00:00
GitCaddy
d2aa7e3605 feat(ai): Add auto-seed for error patterns on fresh deploy
- Add options/seed/error_patterns.json with default upload error patterns
- Add models/ai/seed.go with SeedErrorPatternsIfEmpty function
- Call seed on startup after models.Init if error_pattern table is empty
- Seeds 10 common error patterns for uploads, .NET, etc.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 07:22:04 +00:00
GitCaddy
a197cd7648 fix: Replace Gitea branding with GitCaddy throughout codebase
- Fix lint errors in AI learning MCP tools (interface{} -> any, append pattern)
- Update OAuth realm names from Gitea to GitCaddy
- Update User-Agent strings to GitCaddy
- Update default git user.name, mailer X-Mailer header
- Update API docs descriptions
- Update template comments and swagger descriptions
- Keep Gitea attribution in footer and as OAuth provider option

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 06:41:05 +00:00
GitCaddy
854871af2f feat: Add MCP AI Learning System for CI/CD error patterns
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Add ErrorPattern and WorkflowTelemetry models for storing solutions
- Add 5 new MCP tools: get_error_patterns, report_error_solution,
  report_solution_success, get_compatibility_matrix, diagnose_job_failure
- Error pattern regex extraction for NETSDK, XA, MSB, npm, go, cargo errors
- AIs can now query known solutions and report new ones

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 05:01:44 +00:00
GitCaddy
2484efc342 fix: Pages nil pointer panic and HideExploreUsers config
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Fix GetPagesConfigByRepoID to return ErrPagesConfigNotExist instead of (nil, nil)
- Add HideExploreUsers to admin config handler map

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 04:34:28 +00:00
GitCaddy
268db4e935 feat(repo): add display title, license settings, and API header link
- Add repository display title field shown in header and explore listings
- Add license settings page with predefined license types
- Auto-create LICENSE.md when license type is selected
- Show license in repo sidebar with link to LICENSE.md
- Add API header link option in theme settings
- Default explore/organizations sort to alphabetical
- Show org DisplayName only in /explore/organizations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 17:15:41 +00:00
GitCaddy
67505cb7c6 feat(theme): add homepage customization and pinned organizations
- Add customizable homepage title and tagline via admin theme settings
- Add ability for site admins to pin organizations to homepage
- Add pinned organization display format option (condensed/regular)
- Hide promotional text when pinned organizations are displayed
- Add database migration for is_homepage_pinned column
- Add custom site icon support for favicon and navbar

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 16:17:51 +00:00
GitCaddy
14072ba013 chore: update copyright headers to MarketAlly
- New files: Copyright 2026 MarketAlly
- Modified files: Copyright YYYY The Gitea Authors and MarketAlly

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:56:56 +00:00
GitCaddy
0ef2a4a3c0 Fix linting errors: slices.Contains, CutSuffix, revive stuttering, variable naming
- Replace loop with slices.Contains in runners.go
- Replace HasSuffix+TrimSuffix with CutSuffix in web.go
- Rename UserPinnedRepo to PinnedRepo (stuttering fix)
- Rename capsJson to capsJSON (naming convention)
- Use errors.New for simple error strings in mcp.go
2026-01-11 21:34:49 +00:00
GitCaddy
f14cde6e37 fix: run gofmt/gofumpt to fix lint formatting errors
🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 21:27:24 +00:00
GitCaddy
27d2d1f753 feat: add Check Now button for on-demand bandwidth testing
- Add BandwidthTestRequestedAt field to ActionRunner model
- Update to actions-proto-go v0.5.7 with RequestBandwidthTest field
- Add RunnerRequestBandwidthTest handler and route
- Update FetchTask to check and return bandwidth test request flag
- Add Check Now button to runner capabilities panel
- Add locale strings for bandwidth test feature

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 15:38:01 +00:00
7d675ffe35 fix: org overview stats field names and add star count
- Rename OrgOverviewStats fields to match template expectations
- Add TotalStars field to show aggregate star count
- Add CountOrgRepoStars function to repo model
- Fix API struct and handler to use new field names

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 02:30:54 +00:00
fe90afcef9 feat: add activity heatmap on profile overview
- Add ShowHeatmapOnProfile field to user model
- Add checkbox in user settings under privacy section
- Display heatmap on profile overview page when enabled
- Users can now show their contribution activity on their profile

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 02:22:40 +00:00
4fab671be9 feat: Pin repos to user profile or organization
- Add UserPinnedRepo model for pinning repos to user profiles
- Add Pin dropdown in repo header with options for profile/org
- Add pin/unpin routes and handlers
- Update user profile to show pinned repos with nice cards
- User overview tab always visible (like org overview)
- Shows empty state with instructions when no pinned repos
- Limit of 6 pinned repos per user
- Org members can pin repos to organization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 02:09:07 +00:00
Claude Code
684e4d0dac feat: Add SSL external option for Pages custom domains
- Add checkbox to mark SSL as handled externally (e.g., Cloudflare)
- Add Activate SSL button for verified domains with pending SSL
- Add SSLExternal option to API
- Useful when using CDN/reverse proxy that handles SSL certificates
2026-01-11 00:40:44 +01:00
fca40a808d Add AI-friendly enhancements: runner capabilities, release archive, action compatibility
- Add runner capability discovery API (v2) for AI tools to query before writing workflows
- Add release archive feature with filter toggle UI
- Add GitHub Actions compatibility layer with action aliasing
- Store runner capabilities JSON from act_runner Declare calls
- Add migrations for release archive and runner capabilities fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 04:56:11 -05:00
b003ce44b5 fix: resolve golangci-lint errors (batch 1)
- cmd/gitea-cli: fix errcheck, perfsprint, use modules/json, http constants
- models/migrations: remove unused nolint directive
- models/organization: interface{} -> any
- modules/health: rename HealthResponse -> Response to avoid stutter
- modules/idempotency: use modules/json, fix errcheck, rename IdempotencyInfo -> Info
- modules/structs: fix Verified_At naming, use omitzero

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:46:44 -05:00
fc6810ed0a style: fix gofmt formatting across codebase
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 15:51:36 -05:00
81453b7940 feat: add Phases 3-5 enhancements (org profiles, pages, wiki v2 API)
Phase 3: Organization Public Profile Page
- Pinned repositories with groups
- Public members display with roles
- API endpoints for pinned repos and groups

Phase 4: Gitea Pages Foundation
- Landing page templates (simple, docs, product, portfolio)
- Custom domain support with verification
- YAML configuration parser (.gitea/landing.yaml)
- Repository settings UI for pages

Phase 5: Enhanced Wiki System with V2 API
- Full CRUD operations via v2 API
- Full-text search with WikiIndex table
- Link graph visualization
- Wiki health metrics (orphaned, dead links, outdated)
- Designed for external AI plugin integration
- Developer guide for .NET integration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 15:14:27 -05:00
4eb78128b8 feat(api): add chunked upload support for large release attachments
Implement resumable chunked uploads to improve reliability for large file
uploads that may fail due to network issues or timeouts.

New API endpoints:
- POST /repos/{owner}/{repo}/releases/{id}/assets/upload-session
- PUT /repos/{owner}/{repo}/uploads/{session_id}/chunks/{chunk_number}
- GET /repos/{owner}/{repo}/uploads/{session_id}
- POST /repos/{owner}/{repo}/uploads/{session_id}/complete
- DELETE /repos/{owner}/{repo}/uploads/{session_id}

Features:
- Resumable uploads with session status tracking
- Out-of-order chunk uploads supported
- Configurable chunk size (default 10MB, max 100MB)
- Automatic cleanup of expired sessions (24h expiry, hourly cleanup)
- Progress tracking with bytes/chunks received counts

Files added:
- models/repo/upload_session.go - Session model and DB operations
- services/attachment/chunked.go - Chunk storage and assembly logic
- routers/api/v1/repo/upload.go - API endpoint handlers
- models/migrations/v1_26/v325.go - Database migration
2026-01-08 08:58:56 -05:00
Lunny Xiao
f73d878780 Some refactor for repo path (#36251)
- Use `gitrepo.IsRepositoryExist` instead of `util.IsExit` or
`util.IsDir`
- Use `gitrepo.OpenRepository` instead of `git.OpenRepository`
- Use `gitrepo.DeleteRepository` instead of `util.RemoveAll`
- Use `gitrepo.RenameRepository` instead of `util.Rename`
2025-12-29 18:49:54 +00:00
Ivan Tkatchev
7439f31e7b Add an option to automatically verify SSH keys from LDAP (#35927)
This pull request adds an option to automatically verify SSH keys from
LDAP authentication sources.

This allows a correct authentication and verification workflow for
LDAP-enabled organizations; under normal circumstances SSH keys in LDAP
are not managed by users manually.
2025-12-27 12:33:08 +00:00
Scion
84ace48390 Closed milestones with no issues now show as 100% completed (#36220)
Closed milestones with 0 issues currently display as having 0%
completion. This makes sense if the milestone is still open, but if the
milestone is closed it seems like that it should show 100% completeness
instead.

Before:
<img width="1708" height="252" alt="image"
src="https://github.com/user-attachments/assets/0b58c78f-0609-44ee-8d58-bd67534c6164"
/>
After:
<img width="1716" height="263" alt="image"
src="https://github.com/user-attachments/assets/3fb0044f-d76c-4888-9d60-640f2ca5fec6"
/>
2025-12-20 16:16:20 +00:00
Peter Verraedt
b18ef611af Fix regression in writing authorized principals (#36213)
Add additional logic with tests to restore the
previous behaviour when writing the principals file.

Fixes: #36212

---------

Signed-off-by: Peter Verraedt <peter.verraedt@kuleuven.be>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-20 01:24:59 +00:00
Lunny Xiao
c20415fd9f Fix bug when creating pull request (#36166)
Extract from #36105 

Fix #36116
Fix #35912
Fix #20906
2025-12-17 21:21:04 +00:00
silverwind
7d6a6d7fb4 Bump golangci-lint to 2.7.2, enable modernize stringsbuilder (#36180)
Fixes were done automatically by `make lint-go-fix`. These modernize
fixes are very readable.

Co-authored-by: Giteabot <teabot@gitea.io>
2025-12-17 20:50:53 +00:00
Dawid Góra
d591ccf053 Automatic generation of release notes (#35977)
Similar to GitHub, release notes can now be generated automatically.
The generator is server-side and gathers the merged PRs and contributors
and returns the corresponding Markdown text.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-17 02:01:19 +00:00
junoberryferry
4bd80af4b9 Add sorting/filtering to admin user search API endpoint (#36112) 2025-12-12 05:12:06 +01:00
Lunny Xiao
19fc2650b4 Use gitrepo's clone and push when possible (#36093)
1 Move `IsRepositoryModelOrDirExist` and `CheckCreateRepository` to
service layer
2 Use `gitrepo.Pushxxx` instead of `git.Push` when possible
3 use `gitrepo.Clonexxx` instead of `gitrepo.Clone` when possible
2025-12-10 09:41:01 -08:00
a1012112796
8c091c1185 allow action user have read permission in public repo like other user (#36095)
related #28187

---------

Signed-off-by: a1012112796 <1012112796@qq.com>
2025-12-07 10:07:04 -08:00
6543
626c79a0ba Revert "adopt changes" (was intendet for #33356)
This reverts commit a0f4fb4bb3.
2025-12-02 21:51:00 +01:00
6543
a0f4fb4bb3 adopt changes 2025-12-02 21:37:14 +01:00