** UPDATE **
Technical background : Unicode encoding and file systems
Here is a couple of things I think I understood while troubleshooting !
There is two ways to encode special characters (like accentueted letters of the French language) :
- NFC (for Normalization Form Composed) where the character is directly represented over two points : é is encoded as its own thing ;
- NFD (for Normalization Form Decomposed) where the character is represented by the base symbol followed by a modifier over 2 points (so 3 total) : é is encoded as e followed by ‘.
Basically Apple uses NFD and everybody else uses NFC.
iPadOS (and MacOS since 2017) is using the APFS file system (standing for APple File System). The previous file system on Apple computers used to normalize every file name to NFD. Although it brings some improvements in some aspects, APFS does not normalize anymore and let the developpers handle that matter…
My understanding of my bug
I think that basically the file name containing accents encoded in NFC is changed to a couple of random character during the transfer. These files are then rejected by the file system and the cloned repo in Working Copy is updated to reflect that deletion.
To go further
I don’t have the technical know-how (and the time) to carry on investigating this right now, but it feels like it is definitly more on the Working Copy side than on the Obsidian side of things. I emailed the dev and will post the answer here if I have something. In a perfect world I could also write a script to normalize to NFD before pushing my changes but it’s too much for me.
I could get rid of all the special character in my titles, but I quite like to use sentences (as an API, thanks to Andy Matuschak) and I want them to be correct as French.