As you may notice, you are the only person with this issue. Check your server, your problem is there. Do please realize that Chevereto runs on top of your server. If you provide me logs then I can help you, otherwise you are asking me to try to guess what's going on in your machine.
The CDN is just a string that is used in listings and anywhere you retrieve an image. The CDN is not touched at all for the upload process so please stop making the connection between CDN and your error. Your error is because a race condition, if you don't believe me then look for the code for the alleged error:
[CODE lang="php" title="app/lib/classes/class.upload.php" highlight="7,9,29"] /*
* Set uploaded_file
* Local storage uploads will be allocated at the target destination
* External storage will be allocated to the temp directory
*/
if ($this->storage_id) {
$this->uploaded_file = G\forward_slash(dirname($this->downstream)).'/'.Storage::getStorageValidFilename($this->fixed_filename, $this->storage_id, $this->options['filenaming'], $this->destination);
} else {
$this->uploaded_file = G\name_unique_file($this->destination, $this->options['filenaming'], $this->fixed_filename);
}
$this->source = [
'filename' => $this->source_filename, // file.ext
'name' => $this->source_name, // file
'image_exif' => $this->source_image_exif, // exif-data array
'fileinfo' => G\get_image_fileinfo($this->downstream), // fileinfo array
];
// Fix image orientation
if ($this->source_image_exif and $this->source_image_exif['Orientation']) {
$this->fixImageOrientation($this->downstream, $this->source_image_exif);
}
// 666 because concurrency is evil
if (stream_resolve_include_path($this->downstream) == false) {
throw new UploadException('Concurrency: Downstream gone, aborting operation', 666);
}
if (stream_resolve_include_path($this->uploaded_file) != false) {
throw new UploadException('Concurrency: Target uploaded file already exists, aborting operation', 666);
}[/CODE]
In the above, $this->uploaded_file
contains the path of the target uploaded file which must be empty otherwise it means that the path is taken by another file. In line 7/9 Chevereto gets a "safe" name but in line 29 Chevereto detects that the file exists.
Hope is clear now, the problem is that you are serving more than what your machine is configured (or capable) to.