以下の内容はhttps://sorashima.hatenablog.com/entry/20220803より取得しました。


2022-08-03 (Logseqのjournalsフォルダに、またも名前の末尾に「 2」が付いたファイルが作られていた)



Logseqの起動は、毎回2022-07-10のショートカットで行っていたが、結局ファイル重複は防げなかった。

もっとも、まっさらな(新しいジャーナルページが作られたときにアプリが自動的に適用するテンプレートによる書き込みのみ)ファイルができていただけ。「 2」が付かない方が本来のページとして認識されていたので何も支障は無かった。

そもそもの原因がわからないので、全く闇雲な対応。多分、見当違いだろうな。

Scriptableのスクリプト: ULLogseqFile2iCloud

const ignoreFolder = [".Trash"]

const myAlertF = async (title, message) => {
    let a = new Alert()
    a.title = title
    if (message) a.message = message
    a.addAction("OK")
    await a.presentAlert()
}


const recurFileUpload = async (pathS) => {
  const fileNameSA = fmLC.listContents( fmLC.joinPath( BasePathS, pathS ) )

  for (const fileNameS of fileNameSA) {
    const filePathS = fmLC.joinPath( pathS, fileNameS)
    const fullPathS = fmLC.joinPath( BasePathS, filePathS )
  
    if ( fmLC.isDirectory( fullPathS ) ) {
      if ( !ignoreFolder.includes( fileNameS ) ) recurFileUpload( filePathS )
    } else {
      if (!fmIC.isFileStoredIniCloud( fullPathS )) {
        fmIC.write(fullPathS, fmLC.read(fullPathS))
        uploadFileNameSA.push(filePathS)
await myAlertF( filePathS )
      }
    }
  }

}


const fmLC = FileManager.local()
const fmIC = FileManager.iCloud()
let BasePathS
let uploadFileNameSA = []

if ( !fmLC.bookmarkExists("Logseq") ) {
  await myAlertF((Device.language() == "ja") ? `Logseqのアイコンの付いているフォルダがブックマークされていません。` : `The folder with the Logseq icon is not bookmarked.`)
} else {
  BasePathS = fmLC.bookmarkedPath("Logseq")
  await recurFileUpload("")
  if (uploadFileNameSA.length) await myAlertF("Uploaded File", uploadFileNameSA.join("\n"))
}
Script.complete()

iCloudドライブ/Logseq/ 以下の.Trashフォルダ以外の全ファイルが対象。もしファイルがiCloudドライブに保存されていなかったら、iCloudドライブにアップロードする。

  • Logseqの最終変更日をDropboxに保存

    • iCloudドライブ/Logseq/journalsフォルダ内のファイル最終変更日一覧をDropboxにテキストファイルとして保存。
  • LaunchLogseq

    • iCloudドライブ/Logseq/journalsフォルダ内のファイルの最終変更日が、Dropboxからダウンロードしたテキストファイルの内容と同じかを0.5秒置きに確認して、等しくなってからLogseqのContentsページを開く。確認は10回まで。

症状からいって、ここまでパラノイアじみた対応が必要とは思えないが。(iPhoneiPadで同時にLogseqアプリを起動しておくのは論外として。)

新しいジャーナルページが作られたときにアプリが自動的にテンプレートを適用するように設定できるので、自分もそうしている。
アプリ起動時はファイルの読み込み等色々ヘビーな処理が重なるのでは?もしかして、それらの処理とテンプレート適用の処理ががちあって、重複ファイル問題を作り出しているんじゃないか?と勝手な想像をしているが、本当のところはどうなのだろう?






以上の内容はhttps://sorashima.hatenablog.com/entry/20220803より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14