- Karena konflik file tersembunyi di iCloud Drive, paragraf yang baru saja ditulis atau perubahan kode terbaru bisa hilang, dan kehilangan terjadi sebelum cadangan tersimpan
- Konflik terjadi ketika sistem menilai ada versi berbeda dari file yang sama di Mac dan iPhone, tetapi file yang bermasalah tidak pernah dibuka di iPhone
- Dropbox menyimpan file konflik secara terpisah, tetapi iCloud Drive tidak menampilkannya di sistem file sehingga popup pemilihan hanya terlihat di editor yang mendukung penanganan konflik
- Di editor seperti Textifier, Xcode, dan Obsidian yang tidak memiliki penanganan konflik, iCloud memilih versi yang akan disimpan, dan seiring waktu versi yang benar bisa tertimpa di cadangan
- Lebih aman menyimpan data penting di luar iCloud Drive dan memantau perubahan file inti dengan repositori Git, sementara Cloud Cub juga sedang dikembangkan untuk file yang harus tetap disimpan di iCloud
Konflik file tersembunyi di iCloud Drive
- Saat menulis dokumen, paragraf yang baru diketik tiba-tiba hilang, dan saat mengembangkan aplikasi, Xcode menampilkan banyak error pada kode yang sebelumnya baik-baik saja
- Perubahan terbaru di beberapa file ternyata telah terhapus
- Kehilangan terjadi sebelum Time Machine atau Backblaze sempat menyimpannya
- Penyebabnya adalah konflik file yang terdeteksi oleh iCloud Drive
- iCloud Drive menilai ada versi berbeda dari file yang sama di Mac dan iPhone dan tidak bisa menggabungkannya secara otomatis
- Namun file yang terdampak tidak pernah dibuka di iPhone
- Karena folder Documents di Mac telah dipindahkan ke iCloud, file-file tersebut berada di iCloud
- Jika terjadi konflik versi, Dropbox menyimpan file konflik tambahan dengan nama seperti “(John Doe’s conflicted copy)”
- iCloud Drive tidak menampilkan konflik yang sama di sistem file
- Jika file dibuka di editor yang mendukung penanganan konflik, akan muncul popup yang menanyakan versi mana yang ingin dipertahankan
- Di editor seperti Textifier, Xcode, dan Obsidian yang tidak mendukung penanganan konflik, iCloud menentukan versi yang akan disimpan ke disk dan cadangan
Syarat pemulihan dan cara mengatasinya
- Seiring waktu, jika cadangan baru menimpa cadangan lama yang berisi versi yang benar, konten bisa hilang permanen
- Untuk memulihkannya, file tersebut harus dibuka dengan editor yang mendukung penyelesaian konflik
- Editor yang digunakan sebagai contoh adalah iA Writer
- Setelah file dipindahkan ke luar iCloud Drive, cara ini pun tidak lagi membantu
- Dalam pengujian, ketika file yang belum diubah dipindahkan kembali ke iCloud, popup versi konflik muncul lagi, tetapi jika file sudah diedit atau pekerjaan dilanjutkan pada salinannya, hasilnya bisa berbeda
- Cara menyembunyikan konflik versi mungkin terlihat ramah pengguna, tetapi kehilangan data bisa baru disadari bertahun-tahun kemudian saat dokumen penting dibuka kembali
- Sampai iCloud Drive menampilkan konflik versi di sistem file atau di lokasi terpusat yang mudah diakses, lebih aman memindahkan data penting ke luar iCloud Drive
- Sedang dibuat Cloud Cub untuk mendeteksi dan menyelesaikan konflik sinkronisasi tersembunyi pada file yang harus tetap berada di iCloud
1 komentar
Komentar di Hacker News
Pernah mengalami hal serupa: di Notes pada iPhone istri saya, sinkronisasi cloud aktif, lalu karena saya pikir tidak diperlukan, saya mematikannya. Istri saya lalu berkata, “Semua catatanku ke mana? Apa yang kamu lakukan?”
Saya langsung berkeringat dingin, tetapi teringat ada iPad yang memiliki aplikasi Notes tersinkronisasi, jadi saya segera membukanya dan mematikan WiFi untuk “menyelamatkan” catatan-catatan itu
Saya menelepon Apple, dan staf dukungan menemukan cara agar catatan tidak terhapus dengan menyalin-tempel tiap catatan ke folder baru
Itu beberapa jam yang cukup menegangkan, dan menurut saya Apple seharusnya memberi lebih banyak peringatan atau pop-up tentang dampak penuh dari tindakan seperti ini
Selain itu, saya juga mengetahui bahwa dukungan teknis Apple pada dasarnya bisa masuk ke ponsel seperti “VNC”, melihatnya, dan mengubah pengaturan. Seingat saya mereka meminta izin dan saya menekan “setuju”, tetapi sampai melihatnya sendiri, saya bahkan tidak tahu fitur seperti ini ada
Apalagi meski penyebabnya tampak seperti kesalahan pengguna sendiri, mereka tetap membantu. Perusahaan saya membayar banyak uang untuk produk Google, tetapi kecil sekali kemungkinan Google akan membantu hal seperti ini lewat telepon
Dulu saya pernah berbicara dengan staf mereka untuk hal seperti kontrol akses, tetapi kalau saya meminta bantuan saat catatan Keep hilang, rasanya saya akan mendapat jawaban sopan yang intinya menyuruh pergi. Kenyataannya, catatan Keep juga kadang hilang
Masalah istri Anda sepertinya lebih ada pada orang yang mengelola perangkat iOS daripada pada Apple
Sangat setuju, sejuta kali. Namun ini tampaknya bukan hanya masalah iCloud, melainkan semacam kecenderungan mendasar di seluruh software Apple
Saya juga berulang kali mengalaminya saat memberi highlight pada PDF di Books. Kadang ketika saya membuka lagi PDF, beberapa halaman yang baru saja saya tandai hilang
Saat bekerja, sepertinya semuanya terus disimpan, tetapi entah kenapa Apple menganggap versi 11:35, bukan versi 11:45, sebagai versi utama terbaru
Masalah Apple yang diam-diam menimpa konten baru dengan versi lama sudah berlangsung setidaknya 10 tahun
Saya tidak paham bagaimana cacat fatal seperti ini bisa masuk ke sistem sejak awal dan masih belum diperbaiki
Gratis dan berlisensi BSD, tetapi perlu diingat bahwa agar perubahan terlihat di aplikasi lain, Anda harus mengekspornya sebagai PDF yang berisi anotasi
Kalau Anda lelah dengan latar oranye Apple yang merusak kontras atau tidak adanya highlight kuning yang benar-benar kuning, ini layak dicoba. Saya tidak terkait; hanya bersyukur aplikasi ini ada
https://skim-app.sourceforge.io/
Di sisi hardware pun saya ingat mereka cukup kejam memangkas floppy disk, optical drive, dan seluruh arsitektur CPU sebanyak tiga kali
Di iCloud, sikap itu tampaknya juga diterapkan pada file. Saya tidak mengatakan semuanya buruk, tetapi semakin tua, ini semakin menjauh dari selera saya
Penulis menyarankan penggunaan git, tetapi git tidak cocok dengan iCloud Drive
Dulu saya menaruh ratusan repositori git di iCloud Drive, dan setiap kali membuat commit besar, seluruh iCloud Drive yang berukuran ratusan GB akan disinkronkan ulang dengan server Apple, dan itu memakan waktu sehari
Saya mencoba menyelesaikannya dengan meneruskan kasus ke dukungan Apple sampai level yang cukup tinggi, tetapi akhirnya tidak teratasi. Sekarang saya menaruh repositori git di luar iCloud Drive
Sepertinya fenomena ini terpicu ketika ratusan file diubah dengan cepat dan bersamaan sebelum sinkronisasi perubahan besar terakhir selesai
Keduanya tidak cocok, dan terutama jika beberapa perangkat tersinkronisasi ke cloud drive yang sama, ada banyak ruang untuk munculnya perilaku aneh dan tak terduga
Masalahnya, aplikasi yang wajib saya gunakan tidak mendukung metode sinkronisasi lain, jadi sebagian file penting harus memakai iCloud Drive
Tanpa git, saya bahkan tidak akan bisa mengetahui file mana yang berubah. Bahkan dengan git pun saya tidak yakin sudah menangkap semuanya. Konflik sinkronisasi iCloud sepertinya juga bisa mengubah isi git
Mungkin tidak bagus untuk data yang sangat besar, tetapi hal-hal yang ada di iCloud Drive dan ingin saya versioning secara agresif kebanyakan berupa teks atau berukuran kecil, sehingga beban menyimpan dua salinan hampir tidak terasa
[1] https://github.com/anishathalye/git-remote-dropbox
Alasan yang lebih besar untuk tidak memakai iCloud Drive adalah enkripsi end-to-end bukan setelan default
Semua yang disimpan di sana bisa dibaca oleh administrator sistem Apple, staf dukungan, dan pihak-pihak yang bisa menuntut Apple, misalnya pemerintah AS yang saat ini bahkan bisa melakukannya tanpa surat perintah
Sebaiknya jangan gunakan layanan yang bukan enkripsi end-to-end
Sekarang iCloud memang punya enkripsi end-to-end opsional, tetapi default-nya mati dan terkubur jauh di pengaturan, jadi hampir tidak ada yang memakainya
Saya memakai Syncthing untuk menjaga file di semua perangkat. Enkripsi end-to-end, perangkat lunak bebas, dan penanganan konflik serta cadangan versi juga masuk akal
Ini juga mendukung perangkat khusus sinkronisasi yang tidak tepercaya dan tidak pernah bisa melihat plaintext, sehingga node bisa ditempatkan dengan aman di VPS atau lokasi eksternal
Meyakinkan teman atau keluarga untuk menekan menu dua kali agar mengaktifkannya itu mudah, tetapi meyakinkan mereka untuk memasang dan mengonfigurasi Syncthing di beberapa perangkat tidak mudah
Membela Syncthing boleh saja, tetapi agak lucu menyebut iCloud Drive buruk hanya karena tidak menyalakan secara default pengaturan yang bisa membuat pengguna rata-rata kehilangan semua data jika kehilangan kunci
Kalau nenek saya, saya yakin ia jauh lebih ingin bisa menelepon Apple saat lupa kata sandi dan mendapatkan kembali foto Johnny kecil, daripada sesuatu yang lebih aman secara default
Saya juga ingin mengaktifkan enkripsi end-to-end, tetapi saya tidak cukup percaya pada diri sendiri bahwa saya tidak akan kehilangan kuncinya
Ini juga bukan situasi seperti perpesanan, di mana pihak lawan juga harus menyalakan enkripsi end-to-end
https://support.apple.com/en-ca/HT212520
Saya juga cukup kesal karena ini. Saya menaruh pustaka Calibre di folder Documents. Mau ditaruh di mana lagi, apalagi sudah termasuk cadangan gratis
Tetapi beberapa waktu lalu saya menemukan beberapa folder buku di dalam pustaka yang seharusnya berisi file epub ternyata kosong
Struktur direktori dan entri basis data ada, tetapi hanya file buku yang hilang. Tidak semuanya, kira-kira 40% secara acak
Kesimpulannya: jangan simpan hal yang Anda sukai di iCloud Drive, terutama buku
Terkait bagian “Jika membuka file di editor yang mendukung penanganan konflik, akan muncul pop-up yang menanyakan versi mana yang ingin dipertahankan. Editor tanpa penanganan konflik seperti Textifier, Xcode, dan Obsidian membiarkan iCloud menentukan versi mana yang akan disimpan di disk dan cadangan”, menurut saya sebagian tanggung jawab juga ada pada pengembang aplikasi yang menambahkan dukungan iCloud tetapi tidak menambahkan mekanisme penanganan konflik
Namun mengapa Xcode, aplikasi Apple sendiri, tidak mendukung penanganan konflik? Perangkat lunak Apple seharusnya menetapkan standar bagi pengembang pihak ketiga
Kalau Apple saja tidak menangani konflik versi, tentu pengembang lain juga tidak akan melakukannya
Bahkan jika memakai editor yang mendukung penanganan konflik, konten tetap bisa hilang
Jika Anda menulis sesuatu, menyimpannya, lalu menutup editor dan tidak membukanya lagi, iCloud bisa mengganti isi file itu dan pengguna tidak punya cara untuk mengetahuinya
Satu-satunya cara agar tidak kehilangan data adalah membuat repositori Git, atau secara rutin membuka semua file penting dengan editor yang mendukung penanganan konflik
Ini bukan bug Xcode, melainkan bug iCloud
Jika menaruh file di iCloud Drive, iPhone bisa menghapus salinan lokal kapan saja
Jika ingin menyinkronkan file sekaligus yakin 100% bahwa salinan lokal ada, file yang sama harus diletakkan di iCloud Drive dan folder “On My iPhone”
Inilah alasan Apple Books, Numbers, dan semua aplikasi yang memakai iCloud Drive terus menghapus salinan lokal
Saya membuat aplikasi catatan sederhana yang memakai iCloud Drive, dan saat aplikasi ditutup, iCloud dengan rakus menghapus bahkan file txt 2KB. Kadang tidak dihapus juga, jadi cukup acak
Tidak peduli meski ruang penyimpanan masih banyak, iCloud bisa menghapus versi lokal dari file yang terus digunakan
Dukungan pengembang Apple mengatakan tidak ada yang bisa dilakukan. Pengembang pun tidak punya cara untuk menandai agar file jangan pernah dihapus
Dalam dokumentasi resmi, Apple benar-benar menyarankan agar semua file pengguna disimpan di iCloud Drive dan tidak menaruh salinan di “On My iPhone”
Saya pernah mengalami masalah serupa dengan Contacts yang menghilang. Itu terjadi cukup lama, tetapi awalnya saya kira kesalahan saya sendiri
Suatu pagi, ketika melihat kontak teman yang saya SMS malam sebelumnya hilang, saya sadar masalahnya adalah iCloud
Saya menghubungi dukungan Apple, dan setelah mencoba semua panduan dasar, petugas mengakui bahwa ini masalah yang diketahui tetapi mereka belum menemukan akar penyebabnya dan tidak ada solusinya
Mereka meminta saya memantau kontak agar bisa mengetahui kapan penghapusan terjadi, tetapi katanya saya harus memberi rentang waktu dalam hitungan menit
Alasannya, “iPhone membuat banyak log, jadi kalau tidak bisa menunjukkan tepat kapan itu terjadi, engineer tidak bisa memeriksanya”
Saya merasa mempersempit bug ke rentang 8 jam sudah cukup baik, tetapi petugas berkata para engineer meminta ketepatan dalam hitungan menit
Pada akhirnya, seperti setiap kali saya menyerahkan masalah sulit ke dukungan Apple, petugas berkata akan menghubungi kembali, tetapi tidak pernah menelepon lagi, dan tidak terjadi apa-apa
Saya memindahkan kontak ke Google dan melupakannya begitu saja
Saya sudah menelusuri masalah ini. Apple, agar tidak terlalu mengganggu pengguna dengan konflik, memilih strategi sinkronisasi yang menghilangkan data pengguna dalam kondisi tertentu
Mereka memutuskan untuk tidak memakai teknik yang jauh lebih lama yang bisa mempertahankan revisi yang berkonflik
Ringkasannya ada di sini
https://www.youtube.com/watch?v=q8k1q6kf1W0
Dengan begitu orang bisa mencari “apa yang Apple lakukan pada file saya?” dan menemukan cara memulihkannya
Bicara soal tidak mengganggu, dalam sebuah pembaruan iOS diam-diam mengubah pengaturan panggilan saya sehingga dering tidak berbunyi untuk sebagian penelepon
Itu semacam fitur omong kosong untuk menenangkan pikiran, tapi karena sifat NHS, saya sampai sangat cemas karena melewatkan telepon dari ahli bedah kanker yang sulit dihubungi kembali
Dalam kasus saya, iCloud Drive kadang begitu saja tidak tersinkron dan tersangkut pada sesuatu. Status sinkronisasi bisa dilihat dari ikon iCloud Drive di Finder
Menutup semua aplikasi di macOS dan iOS lalu menjalankan
killall birdkadang menyelesaikannya.birdadalah layanan sinkronisasi iCloud