makeplane / makeplane/plane

[bug]: Attachment deletion does not remove object from external S3 storage (USE_MINIO=0)

Open
#8,670 3 comments 1 reaction 2 assignees View on GitHub

@vihar is already working on this.

Since Feb 27, 2026.

🐛bug plane
Dominant language
TypeScript
Stars
59.6k
Forks
5.8k
Avg merge
1d 22h
Merged PRs (30d)
49

Description

Is there an existing issue for this?
  • I have searched the existing issues
Current behavior

When using external S3-compatible storage - DigitalOcean Spaces (USE_MINIO=0), attachments are uploaded and downloaded correctly, but deleting an attachment from the UI does not remove the corresponding object from the S3 bucket.

Observed behavior:

  • Upload works (object appears in bucket)
  • Download works
  • Deleting attachment removes it from Plane UI
  • API returns 204 on DELETE request
  • Worker logs show activity + notification tasks only
  • The object remains in the S3 bucket
  • No DeleteObject call appears to be executed
  • There are no visible S3 permission errors.
Steps to reproduce
  1. Deploy Plane v1.2.2 using official Docker setup.
  2. Configure external S3 storage in plane.env:
USE_MINIO=0
AWS_REGION=sgp1
AWS_S3_ENDPOINT_URL=https://sgp1.digitaloceanspaces.com
AWS_S3_BUCKET_NAME=plane-assets
AWS_ACCESS_KEY_ID=<valid_key>
AWS_SECRET_ACCESS_KEY=<valid_secret>
  1. Restart services.
  2. Create a project and issue.
  3. Upload an attachment.
  4. Confirm object exists in S3 bucket (Digitalocean Spaces)
  5. Delete the attachment from the issue UI.
  6. Confirm attachment disappears from UI.
  7. Check S3 bucket — object is still present.

Expected Behavior
When an attachment is deleted, the corresponding object should be deleted from S3 storage.

Additional Notes
Manual S3 deletion using same credentials works, so this is not a permission issue.

Environment

Production

Browser

None

Variant

Self-hosted

Version

v1.2.2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.