Sync logseq with omnifocus via shortcut in iOS platform

  • Logseq is the app I’m looking forward to so long time, it satisfied me with infinite outliner and powerful query function, and the fully customization with Javascript and Python support.

  • Because I don’t sitting in office for the working time, the sync with desktop and mobile is very important to me, I can not rely on plugin system for the all of the function.

  • Thanks to the powerful system of running javascript in logseq and the logseq api, I can achieve most of the function I need without plugin system.

  • The more of logseq I used, the more information I would put it into the system, finally, I need to sync the OmniFocus with logseq.

  • it should be easy if I just use the desktop version, as logseq support local http server, we can call the api from OmniFocus directly with the URL.call().

  • Sadly, mobile version doesn’t support the HTTP server, we need an interface to exchange the information between OmniFocus and Logseq.

  • The best intermedia should be shortcut in iOS, as

  • OmniFocus can call the shortcut directly with URL.call().

  • Logseq can invoke the shortcut via shortcut x-call-back scheme

  • Actually, Logseq can use most of iOS function just by shortcut x-call-back.

  • The problem I’m facing now are that

  1. block uuid is different between mobile and desktop, which caused that we can not find the exactly block after sync with different devise.
  2. Ever open the time tracing module, Logseq failed to stamp the time for the task block occasionally, this is very weird, I got the timestamp of creation and update in desktop, but they disappeared when I sync desktop and mobile.