DTTG, external markdown editors and Files.app unresponsive when using share-function

I’ve been using DT and DTTG for more than three months now, as a “diaspora member” of the sizeable Evernote-pro-user-for-decades exodus.

I’m using markdown for easiest multi-platform editing as well as hoping for a future proof solution (Evernote sure taught me a lesson about choosing open standards for the future…)

I’m syncing via Dropbox, using DTTG on iOS 15.4 (although this behaviour has occurred on earlier iOS versions) on iPhone XR. Frequently (about ⅓ of cases) however whenever I open a markdown note in external markdown editors (such as Taio or Typewriter (for markdown)) the following happens:

  1. Case: “Unreponsive external markdown editors and DTTG”

    • a. Taio/Typewriter becomes unresponsive
    • b. DTTG becomes unresponsive.
    • c. DTTG is still unresponsive after crashing Taio/Typewriter
      • DTTG’s file structure can’t be accessed via Files.app
    • d. I am forced to reboot DTTG
      • This doesn’t improve the situation – DTTG is functional, but it is not possible to open a markdown file via DTTG’s share feature. It is sometimes editable via DTTG’s native markdown editor.
  2. Case: “Re-authentication prompt”

    • a. Sometimes – but not always – after crashing Taio/Typewriter I don’t crash DTTG but instead wait, and after a minute or two when I reboot Taio/Typewriter I’m prompted to re-authenticate DTTG inside Taio/Typewriter
      • After re-authentication the situation doesn’t improve – I’m still not able to access DTTG files externally.
  3. Case: “Avoid DTTG’s ‘share’ feature, use Files.app”

    • a. I’ve tried starting DTTG, downloading relevant files, and then accessing those via Files.app, followed by opening in Taio/Typewriter
      • Behaviour from case 1 and 2 is repeated

Considering this behaviour (without knowing much about iOS file system programming) I’m inclined to believe that this is some malfunction of the interaction between DTTG and iOS file system. It seems as if DTTG at some point locks the database and goes into some sort of “protection mode” that makes Taio/Typedown unresponsive and DTTG files not accessible via Files.app, and finally it makes DTTG unreponsive.

QUESTIONS: anyone with similar problems? Any proposed workaround?

  • I’ve tried half-dozen other iOS external markdown editors and have had similar behaviour.

First step, turn the iOS device completely off and restart.

Yes, but this has been going on since I installed DTTG. I’ve rebooted the iPhone countless times, and installed several iOS updates. If rebooting is required ⅓ of cases when I use DTTG with external editors, then I would have to reboot my iPhone ten times per day.

Oh. New Info. You didn’t say that in your original post. Others may have idea about second step. Apple doesn’t provide much in the way of help on iOS devices to debug.

Given that your report about DTTG crashing often (or even reliably) with Taio/Typewriter: Did you try other editors like Drafts, iAWriter or Typewriter? Drafts might be a bit unwieldy because it insists on storing the files in its own sandbox, though.

I’m using Typewriter (for Markdown) and Taio.

I’ve tried Bear, MDNotes, Markdown Notes, Obsidian, Inkdrop, Markdown°, Drafts, Notability, Joplin, Ulysses – but Taio and Typewriter can be directly accessed through DTTG’s share sheet (hence the workflow goes: 1) open note in DTTG 2) open in external editor through share sheet 3) edit in external editor, save 4) go back to DTTG for cloud sync). Many of the other apps have functionality/UX adapted for standalone functionality, instead of being a “sidekick” to DTTG, hence making it difficult to support the above workflow. Others have monthly fees – something I wanted to get away from by migrating to DT and DTTG.

Well, it seems to work ok with Textastic (the share sheet, that is). iAWriter does not offer sharing, only x-urls, so I was wrong about that.
Of course, Drafts does not work as I’d like it to in this context. I was mentioning these other products because I thought it might be possible that the problem is not DT in this context but rather Taio/Typewriter.

As to

That is to be expected and not related to Taio/Typewriter. It’s a design decision, I guess. Or maybe there are technical reasons to avoid the Files.app

I do not understand what you did exactly: You downloaded files from where to where? And where did you locate them in the Files.app.

Right. Which than makes them kind of “islands”. E.g. in the case of Drafts, it is easy to share to it. However, getting the modified file out of Drafts is more complicated (it’s feasible, mind you, but not exactly painless). Obsidian, OTH, uses it’s own “vault” which works best when indexed from DT (as I understood it – I might be wrong here). Which is not ideal for mobile devices.

1 Like

JFTR: I can confirm the described behaviour with Typewriter:

  • Sharing to TW works, i.e. the file is opened there and can be edited
  • after some time™ DT and TW both become unresponsive
  • eventually, DT crashes (I suppose) and restarts.
    I guess @aedwards might want to investigate?
1 Like

If I got @okimiko right they downloaded the files in DTTG first and tried to get access to them via the Files app. And DTTG’s file structure was not visible in the Files app only after DTTG had become unresponsible. When everything is working of course there is access to DTTG files in the Files app.

Anyway, whatever I can add must be taken with a grain of salt because I am using a DTTG beta. Maybe it has a new secret ingredient I don’t know anything about and even if I wouldn’t be allowed to talk about.

And all I can say is that for test purposes I have created a number of Markdown files and shared them to 1Writer without any problem. I could change them in 1Writer and the changes appeared in DTTG right away. I could also access the files in the Files app.

The one difference (beside the beta of DDTG) is that I did not sync via Dropbox but iCloud. Is it possible that something in the Dropbox sync process went wrong? Do you have proper access to the synced files in DTTG itself, okimiko? And while I’m sure you chose Dropbox over iCloud for a good reason could you create a test database with test Markdown files syncing via iCloud (or any other available sync service) just to find out if that makes a difference?

Wow. The icon was too large or ich hatte Tomaten auf den Augen.

I’m syncing via WebDAV and saw the behaviour described by @okimiko. But only with Typewriter, not with Textastic.

That’s correct. Downloaded locally via DTTG, and then DT(TG) file structure is accessible through Files.app DTTG is represented as any other storage location (like Dropbox, Google Drive or any other cloud storage location) in Files.app. The fact that Files.app also can’t access the DT files (after a external editor block) would indicate that this is an issue related to file access (rights) rather than the external editors as such.

I too doubt it’s the external editors. But I was guessing some kind of half-baked syncing process. When the files are not downloaded in DTTG they are shown greyed out in the Files app (and thus can’t be shared). Maybe at some point in the syncing their status changes to downloaded without them being downloaded completely.

Because of that my question: Do you have proper access to them in DTTG itself?

I did. The file was accessible in DT and opened just fine in Typewriter. BTW, the OP already explained that they edited the file externally. That seems to imply that access to it was possible.

Yes, if I refrain from using external markdown editors until I have full functionality inside DTTG (I can download, purge, edit with the built-in native markdown editor, etc). But whenever I start working with external editors stuff gets blocked. When files get blocked (above 3 cases) then frequently a reboot of DTTG is not always a remedy, but I have to wait a while (like in case 2 above) before DTTG files are accessible.

Then I‘m sorry. Sync going sour was my best guess.

The somehow wrong file rights you suggested sound like sharing would never work. But it does. Additionally to 1Writer I succesfully shared Markdown notes to Blockquote, Drafts (which can‘t share the note back but would create a new one) Panda, Paper (only when it’s open), Pretext, and Typewriter.

I guess we can agree on whatever goes wrong is not due to the choice of the wrong Markdown editors on your side.

1 Like

Why are you sharing the document to Taio instead of using the Document Provider option?

In Taio’s file browser, choose Browse Documents. Do you see DEVONthink To Go there?
If not, tap the encircled ellipsis button to open the overflow popup, and choose Edit Sidebar. Add DEVONthink To Go, then navigate into a database.

Do you see the same behavior when working with the document in this fashion?

Yes, I’ve tried avoiding the share sheet and accessing directly through the file browser of the external markdown editor. But it yields similar behaviour, that would be case 3 in the my previous list.

I thought for a while that it possibly might occur when a sync process is running in the background? But it seems unlikely since sometimes I can edit and save without trouble on external editors for 30 min, but in other cases the freeze appears after less than a minute.

iOS Share will just create a copy I think. I think DEVONthink To Go would need to implement a file.app extension, called a file provider, to allow open and save to the same item. This may be better because you could you can use DEVONthink’s data rather than a hack to files behind the scene. However, currently my files are on a network share so I still can open and save them from file.app. They are synced to DTTG from DT3 on my Mac which uses this same network share and with DT3 I can just use “open with.”

https://developer.apple.com/documentation/fileprovider/creating_a_file_provider_for_ios

DEVONthink To Go actually has a file provider which is responsible for the integration into the Files.app as well as for providing files for opening and saving from any other app. Depending on how the other app is implemented, DEVONthink To Go can also share-to-open without duplicating.

1 Like