fix: use fetch for DELETE+body to fix file_delete (#649) #20

Merged
jmiller merged 1 commits from fix/649-file-delete-body into main 2026-06-20 20:01:47 +00:00
Owner

Summary\n\nFixes MokoGitea-Fork#649 (file_delete bug)\n\nnode:https drops the request body on DELETE requests through some proxy/TLS configurations, causing Gitea to see an empty body and return "file already exists" (routes to CREATE handler).\n\nSwitches to built-in fetch() for DELETE requests with a body, which handles this correctly.\n\n## Changes\n\n- src/client.tsdelete() method uses fetch() when body is present

## Summary\n\nFixes MokoGitea-Fork#649 (file_delete bug)\n\nnode:https drops the request body on DELETE requests through some proxy/TLS configurations, causing Gitea to see an empty body and return \"file already exists\" (routes to CREATE handler).\n\nSwitches to built-in fetch() for DELETE requests with a body, which handles this correctly.\n\n## Changes\n\n- `src/client.ts` — `delete()` method uses `fetch()` when body is present
jmiller added 1 commit 2026-06-20 19:58:46 +00:00
fix: use fetch for DELETE+body to fix file_delete (#649)
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Changelog Validation / Validate CHANGELOG.md (pull_request) Failing after 3s
MCP: Copilot Agent / Run Copilot Coding Agent (pull_request) Failing after 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
MCP: Build & Validate / build (22) (pull_request) Failing after 10s
MCP: Build & Validate / build (20) (pull_request) Failing after 10s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Successful in 5s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 17s
MCP: Standards Compliance / Secret Scanning (pull_request) Successful in 4s
MCP: Standards Compliance / License Header Validation (pull_request) Failing after 5s
MCP: Standards Compliance / Repository Structure Validation (pull_request) Failing after 4s
MCP: Standards Compliance / Coding Standards Check (pull_request) Failing after 4s
MCP: Standards Compliance / Workflow Configuration Check (pull_request) Failing after 4s
MCP: Standards Compliance / Documentation Quality Check (pull_request) Successful in 5s
MCP: Standards Compliance / README Completeness Check (pull_request) Failing after 4s
MCP: Standards Compliance / Git Repository Hygiene (pull_request) Successful in 5s
MCP: Standards Compliance / Line Length Check (pull_request) Failing after 9s
MCP: Standards Compliance / Script Integrity Validation (pull_request) Successful in 10s
MCP: Standards Compliance / File Naming Standards (pull_request) Successful in 7s
MCP: Standards Compliance / Insecure Code Pattern Detection (pull_request) Successful in 4s
Universal: CodeQL Analysis / Analyze (actions) (pull_request) Failing after 1m9s
Universal: CodeQL Analysis / Analyze (javascript) (pull_request) Failing after 1m10s
MCP: Standards Compliance / Version Consistency Check (pull_request) Successful in 52s
MCP: Standards Compliance / File Size Limits (pull_request) Successful in 5s
MCP: Standards Compliance / Dead Code Detection (pull_request) Successful in 33s
MCP: Standards Compliance / Binary File Detection (pull_request) Successful in 5s
MCP: Standards Compliance / TODO/FIXME Tracking (pull_request) Successful in 4s
MCP: Standards Compliance / Broken Link Detection (pull_request) Successful in 4s
MCP: Standards Compliance / API Documentation Coverage (pull_request) Successful in 3s
MCP: Standards Compliance / Code Duplication Detection (pull_request) Successful in 46s
MCP: Standards Compliance / Code Complexity Analysis (pull_request) Successful in 48s
MCP: Standards Compliance / Accessibility Check (pull_request) Successful in 4s
MCP: Standards Compliance / Performance Metrics (pull_request) Successful in 5s
MCP: Standards Compliance / Repository Health Check (pull_request) Failing after 3s
Universal: Auto-Assign / Assign unassigned issues and PRs (pull_request_target) Successful in 1s
MCP: Standards Compliance / Terraform Configuration Validation (pull_request) Successful in 14s
MCP: Standards Compliance / Dependency Vulnerability Scanning (pull_request) Successful in 56s
MCP: Standards Compliance / Unused Dependencies Check (pull_request) Successful in 1m0s
MCP: Standards Compliance / Enterprise Readiness Check (pull_request) Successful in 57s
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 12s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: CodeQL Analysis / Security Scan Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
MCP: Standards Compliance / Compliance Summary (pull_request) Has been cancelled
b469a7da13
node:https drops the request body on DELETE requests through some
proxy/TLS configurations, causing Gitea to see an empty body and
return "file already exists" (routes to CREATE handler).

Switch to built-in fetch() for DELETE requests with a body, which
handles this correctly.

Co-Authored-By: Claude <noreply@anthropic.com>
jmiller merged commit 57b4e5d5ae into main 2026-06-20 20:01:47 +00:00
jmiller deleted branch fix/649-file-delete-body 2026-06-20 20:01:48 +00:00
Sign in to join this conversation.