[GH-ISSUE #2181] S3 Error handling on upload and XAmzContentSHA256Mismatch: UnknownError #6579

Closed
opened 2026-04-20 17:10:47 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @damienalexandre on GitHub (Jan 30, 2026).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/2181

Pre-submission checklist

  • I have searched for existing open or closed issue reports with the same problem.

Description

Hello, firstly let me say thanks for this awesome software and congrats for the 1.0 release 🎉

I needed the S3 file storage capability so much! But I struggle to make it work with an S3 compatible storage called Cellar : https://www.clever.cloud/developers/doc/addons/cellar/

It fails to upload and there are two issues.

1. No error are reported to the end user

When I upload I get no UI change, and I can see the backend answer a 200 with this payload:

{"errors":[{"message":"failed to save file: failed to upload file to S3: operation error S3: PutObject, https response error StatusCode: 400, RequestID: tx0000048737b190960b123-00697d0a33-11b44b19-default, HostID: 11b44b19-default-default, api error XAmzContentSHA256Mismatch: UnknownError"}],"success":null}

Unless I open the console I have no way to know that something wrong happened.

Image

2. XAmzContentSHA256Mismatch?

I don't know where this error is from, is it from Cellar API?

operation error S3: PutObject
https response error StatusCode: 400
api error XAmzContentSHA256Mismatch: UnknownError

The recommended s3cfg is this, I don't know if it can help.

access_key = XXX
secret_key = XXX
bucket_location = US
cloudfront_host = cloudfront.amazonaws.com
cloudfront_resource = /2010-07-15/distribution
default_mime_type = binary/octet-stream
delete_removed = False
dry_run = False
encoding = UTF-8
encrypt = False
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase =
guess_mime_type = True
host_base = cellar-fr-north-hds-c1.services.clever-cloud.com
host_bucket = %(bucket)s.cellar-fr-north-hds-c1.services.clever-cloud.com
human_readable_sizes = False
list_md5 = False
log_target_prefix =
preserve_attrs = True
progress_meter = True
proxy_host =
proxy_port = 0
recursive = False
recv_chunk = 4096
reduced_redundancy = False
send_chunk = 4096
signurl_use_https = True
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
urlencoding_mode = normal
use_https = True
verbosity = WARNING

Vikunja Version

1.0.0

Browser and version

Firefox

Can you reproduce the bug on the Vikunja demo site?

No

Screenshots

No response

Originally created by @damienalexandre on GitHub (Jan 30, 2026). Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/2181 ### Pre-submission checklist - [x] I have searched for existing open or closed issue reports with the same problem. ### Description Hello, firstly let me say thanks for this awesome software and congrats for the 1.0 release 🎉 I needed the S3 file storage capability so much! But I struggle to make it work with an S3 compatible storage called Cellar : https://www.clever.cloud/developers/doc/addons/cellar/ It fails to upload and there are two issues. # 1. No error are reported to the end user When I upload I get no UI change, and I can see the backend answer a 200 with this payload: > {"errors":[{"message":"failed to save file: failed to upload file to S3: operation error S3: PutObject, https response error StatusCode: 400, RequestID: tx0000048737b190960b123-00697d0a33-11b44b19-default, HostID: 11b44b19-default-default, api error XAmzContentSHA256Mismatch: UnknownError"}],"success":null} Unless I open the console I have no way to know that something wrong happened. <img width="914" height="404" alt="Image" src="https://github.com/user-attachments/assets/51022448-e5b2-45be-8984-ac49ead07d99" /> # 2. XAmzContentSHA256Mismatch? I don't know where this error is from, is it from Cellar API? > operation error S3: PutObject > https response error StatusCode: 400 > api error XAmzContentSHA256Mismatch: UnknownError The recommended s3cfg is this, I don't know if it can help. ``` access_key = XXX secret_key = XXX bucket_location = US cloudfront_host = cloudfront.amazonaws.com cloudfront_resource = /2010-07-15/distribution default_mime_type = binary/octet-stream delete_removed = False dry_run = False encoding = UTF-8 encrypt = False follow_symlinks = False force = False get_continue = False gpg_command = /usr/bin/gpg gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s gpg_passphrase = guess_mime_type = True host_base = cellar-fr-north-hds-c1.services.clever-cloud.com host_bucket = %(bucket)s.cellar-fr-north-hds-c1.services.clever-cloud.com human_readable_sizes = False list_md5 = False log_target_prefix = preserve_attrs = True progress_meter = True proxy_host = proxy_port = 0 recursive = False recv_chunk = 4096 reduced_redundancy = False send_chunk = 4096 signurl_use_https = True simpledb_host = sdb.amazonaws.com skip_existing = False socket_timeout = 300 urlencoding_mode = normal use_https = True verbosity = WARNING ``` ### Vikunja Version 1.0.0 ### Browser and version Firefox ### Can you reproduce the bug on the Vikunja demo site? No ### Screenshots _No response_
Author
Owner

@kolaente commented on GitHub (Feb 8, 2026):

Upload error logs will be fixed in https://github.com/go-vikunja/vikunja/pull/2204

<!-- gh-comment-id:3867325162 --> @kolaente commented on GitHub (Feb 8, 2026): Upload error logs will be fixed in https://github.com/go-vikunja/vikunja/pull/2204
Author
Owner

@kolaente commented on GitHub (Feb 8, 2026):

https://github.com/go-vikunja/vikunja/pull/2205 should resolve the other problem - it adds a new option to disable file signing, which seems to be the problem here.

I have no way to test this with Cellar and their implementation seems to do things differently here. Please report back if it works with that.

<!-- gh-comment-id:3867342176 --> @kolaente commented on GitHub (Feb 8, 2026): https://github.com/go-vikunja/vikunja/pull/2205 should resolve the other problem - it adds a new option to disable file signing, which seems to be the problem here. I have no way to test this with Cellar and their implementation seems to do things differently here. Please report back if it works with that.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#6579