Web Analytics Made Easy -
StatCounter

めモらンだム・ヤード

自分用のアプリ設定やスクリプト類の備忘録・覚え書き(Memorandum) / 作った物のライセンスはCC BY-NC-SAで。 / 内容が古いまま、間違ったまま、書いている途中、途中で放置など、手入れはあまり行き届いていない庭 / 対象の仕様変更で動かなくなったもの多々。WorkFlowy向けは全滅したので削除 / 製作物のインストール及び使用は各自の責任で。使用によって、利用者および第三者に損害が発生したとしても、当方は一切責任を負いかねます

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アプリを起動しておくのは論外として。)

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



©︎ 2022 Sorashima