用 iCloud Drive 同步 Logseq 時的遺失檔案問題

發布於 2022-02-26 | 最後更新時間 2022-02-26

之前在 嘗試把 Logseq 當成 Workflowy 使用的心得 這篇文裡面提到,在我開始使用 Logseq 之後,曾經一度直接把它用在工作情境上面記錄,但卻因為發現同步時會有掉檔案的問題,所以就改用 Craft & Workflowy 來處理工作上的需求。

這篇文就來分享一下這個「掉檔案」的問題是怎麼回事。

掉檔案問題是怎麼發生的?

先描述一下我當時的使用情境,時間大約是在 2021 年 12 月至 2022 年 1 月之間,至少發生了三四次。

我的裝置是一台 iMac M1 24-inch 以及一台 Macbook Air M1,前者放在家中,後者則是會帶去公司使用。

當時把 Logseq 的 graph 放在 iCloud Drive 底下,兩台電腦都讀取這個 graph 的資料夾,所以只要一邊有更新,回家/去公司時用另一台裝置就可以讀到最新的紀錄。

但我有幾次卻發現,一打開 Logseq 進入預設的 “Journals” 頁面後,卻看到當天稍早紀錄的資訊,全部消失,該頁變成一片空白。

此時到 Logseq 的資料夾看,該天的 .md 檔案也變成一個單純只有一行 「 - 」 資料的空白頁面。


掉檔案問題可能發生的原因是?

根據我當時的推測與理解,這問題可能跟 iCloud Drive 的穩定性有關。

我自己在使用另一個軟體 Ulysses 的時候,也曾經發生過檔案似乎沒有順利被上傳到 iCloud的問題,當時的解決方式是重新開機,iCloud 才會重新開始順利運作。

但在 Ulysses 的情境裡,假設 A 裝置的內容「abc.md」沒有被傳到雲上,打開 B 裝置的 app 時,最大的困擾只是「沒辦法使用 abc.md 這個檔案」而已。

可是 Logseq 這個 app 的設計邏輯是,每次打開這個 app ,就會直接進入 Journals 頁面,然後若發現「沒有當日的紀錄」,就會自動產生一個「今天的日期.md」的檔案。

所以我猜測,我在 A 裝置上面編輯了老半天的 「今天的日期.md」,因為沒被順利推送到 iCloud 上面,而且我不知道沒同步成功這件事。而當我打開 B 裝置的 Logseq 時,它發現並沒有「今天的日期.md」,所以又建立了一個新的「今天的日期.md」,此時因為佔住了這個檔案名字,所以即使後來 A 裝置順利同步了,也不會覆蓋這個檔案,可能還會因為 B 裝置檔案的時間戳比較近,所以反覆蓋回去 A 裝置有紀錄的那個檔案,而造成檔案永久遺失。


有其他人發生類似的狀況嗎?

12月到1月發生的時候,我並沒有特別去找有沒有同樣的 bug 回報,因為當時對這問題有點無法接受&失望,所以很快選擇轉向其他的 app 來使用。

不過近期又想好好地同步使用 Logseq ,所以還是找了一下,發現不少人似乎都有在同步的時候出現資料消失的問題,例如這兩個 Reddit 討論串:


如果資料消失該怎麼辦?

前面的討論串裡面有人提到,若有發生資料遺失的問題,可以去 logseq/bak 這個資料夾裡面找到相關的備份。

當時我不知道這個資訊,我是用自己在用的備份軟體 Arq 撈回我的檔案。

但我覺得,即使可以找回檔案,這件事還是會讓使用者在使用時有著「不安定感」,尤其是如果掉檔案的狀況發生在舊的筆記而不是今天剛記下的每日紀錄,那麼使用者可能根本無從發現檔案消失了,這個疑慮才是最令人擔心的。

而為了解決這樣的不安定感,我現在選擇把資料夾放到另一個雲端同步的服務 Dropbox 上面,印象中 Dropbox 的穩定性都還不錯,之前寫論文時也是都把資料放在上面也沒出事,所以決定先透過 Dropbox 來同步使用 Logseq。

不過坦白說,這個 bug 的存在,令我得要多花力氣去確認 Dropbox 是否有同步到資料,或者是把 Arq 的自動備份頻率設置地更頻繁,這些其實都蠻消耗注意力的。


這個 bug 有改善了嗎?

我目前不太清楚這個之前發生過的問題,是否已在後續版本的 Logseq 解決了,近期會開始再大量同步使用 Logseq ,如果有再度發生這個 bug ,我會再上來更新。

不過根據 Logseq 的官方 roadmap,已經有在開發自建的同步服務,我想可能會跟 Obsidian 一樣是付費的,但不管是使用既有的雲端同步服務或者是官方的同步,都希望未來這個狀況可以不要再發生!


如果你對於本站或本文有任何想討論或分享的,歡迎來信到:mimir@hey.com 找我聊聊!