Custom compiling Joplin for macOS 10.13

I have an old Mac I still use on a regular basis, capable of only macOS 10.13.6 High Sierra. I can install Joplin 2.x on it, but this will not sync with my Joplin 3.x notes from Windows and mobile, defeating the purpose of having Joplin on the Mac at all.

So, I would like to compile Joplin from scratch to work on my crusty, trusty old Mac. But I'm not sure where to start.

If this is not at all possible, I suppose I can run Joplin 3 in a Linux or Windows VM on the Mac, but would rather not have to go that resource-intensive emulation route.

I'm actually slowly working through it (with help from "teh interwebs" and some Node.js-familiar friends, building on the sketchy documentation that is intended for Joplin devs and presupposes a lot of git, devbox, node, and yarn experience). Documenting what I'm doing as I go along.

So far, it turns out that compiling the macOS .app is not possible in macOS 10.13 High Sierra, due to a hard-coded dependency on an AuthenticationServices.framework which does not exist in macOS until 10.15+. Some "hackintosh" experts might know (or be able to figure out) how to either replace that with something else or hack it into macOS 10.13 along with its dependencies and dependents, but that's above my pay grade. I do suspect the former is possible, because only the app-desktop package has this requirement, while app-cli and app-mobile do not, yet both work in macOS 10.13.

So, on the up side, the Vim-based command-line version of Joplin 3 definitely works in 10.13 (synching not tested yet), and so does the webpack-based mini-webserver version of Joplin 3 mobile, which provides a GUI version of Joplin, which is what I'm after. However, I found that cloning the current dev version of Joplin results in it wanting to synch as "JoplinDev" instead of "Joplin", so it is not compatible with other Joplin instances on other plaforms (well, unless they're all dev versions across the board). So, I am having to start all over again with a clean clone of the Joplin 3.2.3 release tag, so I can test synching and make sure this really works.

If it all checks out, I'll post a tutorial.

For the web version, when accessed through localhost, the web app enables development mode. This is done by app-mobile/web/public/environment.js:

To avoid this, I suggest either:

I guess this is because you're running a dev version (using yarn start I assume). Try building a release. On windows and linux it's yarn run dist from packages/app-desktop, probably on macOS it's the same.