Only the Windows installer and the deb registered the scheme, so after
extension verification the browser could not return to a portable zip
or AppImage copy and the link had to be pasted. On launch the runners
now point the per-user handler at the running copy when it does not
already start it (HKCU\Software\Classes\mornye on Windows, a GIO
x-scheme-handler default on Linux, using $APPIMAGE for AppImages).
- mornye:// URLs arrive through app_links and go to the backend callback
inbox (queueExtensionCallbackUrl); extension auth opens the system
browser on desktop.
- Single instance: a named mutex plus app_links WM_COPYDATA forwarding on
Windows (with the installer's AppUserModelID), a unique GApplication
forwarding its command line on Linux; macOS handles reopen itself.
- The download queue holds a sleep inhibitor from start until it stops.
- Discord Rich Presence runs on desktop through a channel adapter over the
backend IPC methods, without an account link.
- Library folder changes trigger a debounced incremental source scan.
- Desktop rotating log files, a session marker that turns an unclean exit
into the existing crash report, and runtime errors recorded for it.
Name the app Mornye with the com.zarz.mornye identifier on all three
runners and generate macOS and Windows icons from the brand badge; the
Linux bundle installs the badge PNG as the window icon. Open at
1280 x 800 with a minimum of 800 x 600. Register the mornye:// scheme on
macOS and run outside the App Sandbox.