iOS版のSync:Advancedで同期ができない

バグ報告

iOS版 v.2.0.1 にて、SyncのAdvanced(自前のcouchdb)を選択したところ、同期が行われない(couchdb側に既に登録されているドキュメントが取り込まれない)という問題が発生しています。

couchdbのログを確認したところ、

[notice] 2018-06-20T08:03:15.765595Z nonode@nohost <x.xxxxx.x> xxxxxxxxxx couchdb.some.domain.net xxx.xxx.xxx.xxx undefined GET /inkdrop/_changes?timeout=55000&style=all_docs&heartbeat=10000&filter=mobile%2Fsync&since=0&limit=100 404 ok 4

のように出力されており、changes の取得に失敗しているようです。

上記のURLを直接参照したところ、確かに error のレスポンスが返ってきますが、

filter=mobile%2Fsync

のパラメータを削除すると、正常に changes の結果が取得されます。

なお、PC版のInkdropでは同環境で正常にSyncができています。

利用環境

  • Platform: iOS
  • Platform version: iOS 11.3.1
  • App Version: 2.0.1
  • couchdb version: 2.1.1 (official docker)

Horiiさん

ご報告ありがとうございます。
おっと!Filter関数の設定方法をお伝えするのを忘れていました。すみません。ドキュメントに追記しておきます。
以下のドキュメントをInkdrop用データベースに作成してください:

{
  "_id": "_design/mobile",
  "filters": {
    "sync": "function (doc) { return doc._id.indexOf('file:') === -1 }"
  }
}

これで件のエラーは無くなるはずです。

追記しましたー

https://doc.inkdrop.info/manual/synchronizing-in-the-cloud#support-mobile-sync

早速のリプライ、ありがとうございます!

教えていただいたdocumentを追加して、無事iOSからも同期できるようになりました。
ありがとうございます!

快適に使えており感激です(^ω^)

1 Like

Perfect!