ios icon indicating copy to clipboard operation
ios copied to clipboard

⚠️ Critical DNG Loss Bug – iOS client uploads preview JPEG only / ⚠️ DNG 致命丢失问题 – iOS 客户端仅上传预览图 / ⚠️ Критическая ошибка DNG – iOS-клиент загружает только превью

Open baijing0818 opened this issue 7 months ago • 4 comments

English

Problem
When uploading Apple ProRAW / DNG files via the iOS Nextcloud client, the app sends only a 3-4 MB preview JPEG while keeping the “.dng” filename. The original 20-30 MB RAW data is lost forever. This breaks the core promise of original-quality backup and can mislead users into thinking the server compresses their photos.

Steps to reproduce

  1. Shoot a ProRAW photo on any iPhone 14/15 running iOS 17/18.
  2. Enable automatic upload in the Nextcloud iOS app.
  3. Compare file size and hash between the device copy and the server copy.

Expected: identical size and hash.
Actual: server file ≈ 3 MB, hash mismatch, RAW data gone.

Impact: severe data-loss threat; must be tagged critical and fixed by switching to PHAssetResourceManager to fetch the .alternatePhoto resource.


中文

问题描述
在 iOS 客户端自动上传 ProRAW / DNG 时,应用仅上传 3-4 MB 的 JPEG 预览,却仍保留 .dng 扩展名,20-30 MB 的原始 RAW 数据彻底丢失。这直接违背了 Nextcloud “原图备份” 的核心诉求,并容易让用户误以为是服务器压缩所致。

复现步骤

  1. 用 iPhone 14/15(iOS 17/18)拍摄一张 ProRAW。
  2. 打开 Nextcloud iOS 自动上传。
  3. 对比手机与服务器上的文件大小 / 哈希。

期望结果:大小、校验一致。
实际结果:服务器文件仅 ~3 MB,哈希不同,原片缺失。

影响:严重的数据完整性事故,亟需打上 critical 标签,并改用 PHAssetResourceManager 读取 .alternatePhoto 原件。


Русский

Проблема
При автозагрузке файлов ProRAW / DNG через клиент Nextcloud для iOS приложение отправляет только JPEG-превью размером 3-4 МБ, сохраняя расширение .dng. Оригинальные RAW-данные (≈ 25 МБ) безвозвратно теряются. Это нарушает базовое обещание «резервного копирования в исходном качестве» и вводит пользователей в заблуждение.

Шаги воспроизведения

  1. Снять фото ProRAW на iPhone 14/15 (iOS 17/18).
  2. Включить автозагрузку в клиенте Nextcloud для iOS.
  3. Сравнить размер и хэш локального файла и копии на сервере.

Ожидаемо: размеры и хэши совпадают.
Фактически: на сервере ~3 МБ, хэш другой, RAW утерян.

Критичность: угроза потери данных. Просим пометить critical и реализовать загрузку оригинала через PHAssetResourceManager.

⚠️ 严重质疑:难道团队里没有人真正用过 iPhone 的 ProRAW 吗?

各位开发者好,

这条 致命 BUG 已经挂了数月:

  • iOS 客户端在自动上传 DNG / ProRAW 时,仅传预览 JPEG,导致原片彻底丢失。
  • 自动备份这一核心功能对专业 / 半专业用户形同虚设。
  • 本 Issue (#3369) 自三月起就被多位用户确认,却始终停留在 Open,标签也不是 critical

一个以「私有云备份」为卖点的应用,却把 20 MB 的 RAW 原片吞成 3 MB 的失真垃圾,这事还能不算严重吗?

我要郑重发问:

  1. 团队里真的没有任何人用 iPhone 拍 RAW 吗?
  2. 难道没人意识到这会让用户以为「服务器偷偷压缩文件」并失去对 Nextcloud 的信任?
  3. 为何没有明确的修复里程碑或 PR?至少把标签改成 bug / critical 吧!

建议立刻采取以下行动:

  • 优先合并 / 编写 基于 PHAssetResourceManager 的上传实现,确保获取 .alternatePhoto 资源,而非 requestImageData 的缩略图。
  • 在下一个版本(6.7.x 或更快的补丁)中 明确写入 Changelog“Fixed original DNG/ProRAW upload; no more preview-only files.”
  • 更新文档,提示受影响版本的用户如何重新上传原片、避免数据丢失。

请正视这个问题,这不是 UI 小缺陷,而是用户数据完整性灾难。
希望立即标注为 severity: critical 并安排优先修复。

期待团队的实质性进展。

baijing0818 avatar Jun 09 '25 17:06 baijing0818

🐞 Updated reproduction notes / 最新复现说明 / Обновлённое описание


English

  1. Fresh install of the iOS app → enable automatic upload → shoot & upload a DNG → file shrinks to 3-4 MB (JPEG preview, same bug as before).
  2. Go to Settings › Auto-Upload › “Convert to JPEG”enable once, then disable again.
  3. From now on, new photos that are only DNG are uploaded in full size (≈25 MB) – ✅ works.
  4. BUT if the camera roll batch contains mixed formats (e.g. DNG + HEIC or DNG + PNG in the same upload batch), the DNG is again stored as 3-4 MB preview – ❌ still broken.

So the temporary toggle fixes single-format flows but not mixed uploads. Looks like the conversion flag isn’t fully reset inside the upload pipeline.


中文

  1. 重新安装 iOS 客户端 → 开启自动上传 → 拍一张 DNG 并上传 → 文件被压缩到 3-4 MB(仍为预览 JPEG)。
  2. 进入 设置 → 自动上传 → 「转换为 JPEG」先开启再关闭
  3. 此后,仅包含 DNG 的新照片 能以完整大小(≈25 MB)上传 —— ✅ 正常
  4. 如果同一批次里 同时存在 DNG 与 HEIC / PNG 等格式,上传后的 DNG 仍然只有 3-4 MB —— ❌ 问题依旧

结论:切换「转换为 JPEG」仅暂时修复纯 DNG 流程,对混合格式批量上传无效,疑似转换标志在上传管道中未被完全复位。


Русский

  1. Чистая установка клиента для iOS → автоматическая загрузка → сделать и загрузить DNG → файл уменьшается до 3-4 МБ (JPEG превью).
  2. В Настройки › Автозагрузка › «Преобразовывать в JPEG»: включить, затем выключить.
  3. После этого новые фото, где есть только DNG, загружаются полностью (≈25 МБ) – ✅ работает.
  4. НО если в одной партии находятся форматы смешанные (DNG + HEIC или DNG + PNG), DNG снова сохраняется как 3-4 МБ превью – ❌ ошибка остаётся.

Вывод: временное переключение опции исправляет одиночные DNG, но не помогает при смешанной загрузке; вероятно, флаг конвертации не полностью сбрасывается в конвейере загрузки.

baijing0818 avatar Jun 11 '25 03:06 baijing0818

大哥,打开软件的设置,高级,关闭最佳兼容性,就行了。这不是bug,是默认的设置问题。

zero-dream avatar Jul 09 '25 15:07 zero-dream

大哥,打开软件的设置,高级,关闭最佳兼容性,就行了。这不是bug,是默认的设置问题。

测试一下,没有问题,可以关闭问题了。

zero-dream avatar Jul 09 '25 15:07 zero-dream

大哥,打开软件的设置,高级,关闭最佳兼容性,就行了。这不是bug,是默认的设置问题。

测试一下,没有问题,可以关闭问题了。

GitHub communities are most of the times English speaking. To get help its best to write all comments in English.

matthiasbalke avatar Sep 10 '25 11:09 matthiasbalke