Hello! I’m categorizing this as a bug, and I think this problem has been introduced in the latest DT 3.8.7 – I’m pretty sure this behavior is new.
When editing certain files – in my case email .eml files – DT won’t pick up the fact that any changes have actually occurred to the file (i.e., the modified date remains unchanged in DT – although the mod time is updated properly on the file system) and therefore won’t sync those changes. It also results in checksum mismatches when verifying the database.
While I haven’t done exhaustive testing, so far I’ve only noticed this behavior for .eml files. Changes to other files types (PDFs, txt, md, html, Word .docx, for example) seem to be picked up as usual, whether edited within DT or externally.
(P.S.: As to why I’m editing email files in case anyone is wondering, I use DT to store emails exported from Outlook as .eml files. Turns out there is a bug or something where some older emails exported from Outlook end up having extra new lines thrown into the header, causing parsing problems. Even Outlook isn’t able to properly open those exported files unless I remove those newlines. Lesson learned…)
I should also mention: I tried this on a clean database as well, to ensure that it wasn’t some weird corruption in the database I normally use to store the emails.
Emails are not directly editable in DEVONthink. Please clarify how you’re accomplishing these edits.
Actually this behaviour is very old and dates back to version 2.x, DEVONthink assumes that nobody would ever edit emails. And that was obviously the case for a long time I would suggest to import them after modifying them first.
I’m using Vim external to DT, after opening the file from DT using “Open With…” → “Other”.
Thanks. Yeah, I know that nobody should be editing emails…
If I need to modify further, I’ll export first and then edit.
This actually brings up another question: what other hidden assumptions are there in DT? Are their other file types I shouldn’t attempt to edit while the file is in the database? (e.g., I’ve recently noticed that OPML outline files are auto-expanded in DT into groups and files, meaning that I can’t use DT to manage my outlines. But that’s a topic for another post )
meaning that I can’t use DT to manage my outlines.
Correct. That is beyond the scope of DEVONthink and should be handled in the outlining application.
Created a new post on the OPML topic. I don’t think that asking DT to NOT expand OPML files into groups and files is beyond the scope of DT.
Modifications which change the file size also shouldn’t cause any troubles (e.g. by inserting a space at the end). But the next release will be able to handle all cases.
Sorry for the delayed reponse! Unfortunately, at least with the current release even a size change isn’t caught as a modification. In any case, hopefully the next version will help!
The current public version doesn’t include the fix yet.