ente/desktop
Manav Rathi ecf40a70cf
[desktop] Build ARM64 variant of Windows
Fixes https://github.com/ente-io/ente/issues/1374

A customer reported that the app fails to run on Windows ARM. The error is
coming when trying to load ONNX.

ONNX runtime supports Windows ARM, e.g. see
- https://www.jsdelivr.com/package/npm/onnxruntime-node?tab=files&path=bin%2Fnapi-v3%2Fwin32
- https://github.com/microsoft/onnxruntime/issues/18078

The issue then seems to be that we're not actually building for Windows ARM. I'm
not sure about this (don't have a Windows ARM machine at hand), but my theory is
that since we don't ask Electron Builder to build for win arm64, it doesn't copy
the corresponding ONNX binary into the generated bundle.

Other refs:
- https://www.electron.build/cli.html
2024-04-10 19:33:37 +05:30
..
.github/workflows [desktop] Remove sentry 2024-03-12 13:54:17 +05:30
build Remove support files for (removed) Windows GGML binary 2024-04-09 21:32:41 +05:30
docs Only ONNX, desktop 2024-04-09 20:46:27 +05:30
src Update to the new product name where possible 2024-04-10 16:07:25 +05:30
.eslintrc.js Tighten type checking progressively 2024-04-08 14:57:49 +05:30
.gitignore Update eslint settings to match main project 2024-03-19 19:17:01 +05:30
.prettierrc.json Enable prose-wrap 2024-03-19 19:17:01 +05:30
CHANGELOG.md Enable prose-wrap 2024-03-19 19:17:01 +05:30
electron-builder.yml [desktop] Build ARM64 variant of Windows 2024-04-10 19:33:37 +05:30
package.json Remove the tscw 2024-03-26 21:45:21 +05:30
README.md Document that the main process is not restarted 2024-03-22 19:55:57 +05:30
tsconfig.json Update the node version number in tsconfig doc comments 2024-03-27 20:34:10 +05:30
yarn.lock Major version update of Electron 2024-03-26 21:42:48 +05:30

Desktop app for Ente Photos

The sweetness of Ente Photos, right on your computer. Linux, Windows and macOS.

You can download a pre-built binary from releases.

To know more about Ente, see our main README or visit ente.io.

Building from source

Caution

We're improving the security of the desktop app further by migrating to Electron's sandboxing and contextIsolation. These updates are still WIP and meanwhile the instructions below might not fully work on the main branch.

Fetch submodules

git submodule update --init --recursive

Install dependencies

yarn install

Run in development mode (supports hot reload for the renderer process)

yarn dev

Or create a binary for your platform

yarn build

That's the gist of it. For more development related documentation, see docs.