Commit graph

50 commits

Author SHA1 Message Date
Manav Rathi e430ee3606
lf 2024-05-16 15:49:13 +05:30
Manav Rathi eaa0ddc468
Same for desktop 2024-05-16 15:46:43 +05:30
Manav Rathi b22361d652
yarn lint-fix 2024-05-08 12:12:03 +05:30
Manav Rathi 4db07149ae
[desktop] Don't invoke electron-builder twice on CI 2024-05-08 12:10:20 +05:30
Manav Rathi 771a02c36b
rc 2024-05-08 10:15:12 +05:30
Manav Rathi c090300175
Remove electron-builder-notarize
The environment variables we are passing get picked by the built in notarization
code in electron-builder which signs successfully.

    notarization successful

But thereafter electron-builder-notarize starts throwing some errors:

    Error: The appleIdPassword property is required when using notarization with password credentials
        at validateNotaryToolAuthorizationArgs (/Users/runner/work/photos-desktop/photos-desktop/desktop/node_modules/electron-notarize/src/validate-args.ts:107:13)
    Skipping notarization: The appleIdPassword property is required when using notarization with appleId
        at module.exports (/Users/runner/work/photos-desktop/photos-desktop/desktop/node_modules/electron-builder-notarize/validate.js:42:18)

Since the notarization has already happened, we don't need this
2024-05-07 14:25:22 +05:30
Manav Rathi 3fafc5fd99
Use an Electron Builder version that supports notarytool
We need the following patch (from the release notes of v25.0.0-alpha.6)
https://github.com/electron-userland/electron-builder/releases

> feat: Make notarization with Apple ID more usable by
> https://github.com/electron-userland/electron-builder/pull/8159
2024-05-03 13:17:58 +05:30
Manav Rathi 0f3555468d
Provide repository
Fixes:

    Cannot detect repository by .git/config. Please specify "repository" in the package.json (https://docs.npmjs.com/files/package.json#repository).
    Please see https://electron.build/configuration/publish  failedTask=build stackTrace=Error: Cannot detect repository by .git/config. Please specify "repository" in the package.json (https://docs.npmjs.com/files/package.json#repository).
2024-05-03 12:09:03 +05:30
Manav Rathi 5d0e62cf5f
Use same convention as other preexisting tags in our repo 2024-05-03 11:08:06 +05:30
Manav Rathi ddad863b31
Prepare for release 2024-05-03 10:50:21 +05:30
Manav Rathi 67eed1aa89
Upgrade to Electron 30
This picks up the stream fix we need
> Fixed data corruption when protocol.handle() processed incoming data asynchronously. #41933 (Also in 31)
>
> https://github.com/electron/electron/releases/tag/v30.0.2
2024-05-02 21:20:26 +05:30
Manav Rathi eb1d8a8210
Add a workaround for broken yarn classic dependency resolution
...that causes `yarn install` to fail.

Ref:
- https://github.com/isaacs/jackspeak/issues/5
- https://github.com/yargs/cliui/issues/159
2024-05-01 09:27:56 +05:30
Manav Rathi 6c716ad892
Tell prettier not to print the names of the files it processes 2024-05-01 08:30:35 +05:30
Manav Rathi 1eff04fe92
Enable lints 2024-04-30 18:57:19 +05:30
Manav Rathi 51ffaa4a90
Preempt 2024-04-30 16:00:32 +05:30
Manav Rathi 2403c19f70
Add a temporary fallback 2024-04-16 14:50:25 +05:30
Manav Rathi 81d1563c3d
Also reproducible on latest beta 2024-04-16 10:17:51 +05:30
Manav Rathi 8d76966d99
Upgrade Electron and other dependencies
This was primarily for getting the latest Electron, but I ran `yarn
upgrade-interactive` and upgraded the other non-breaking deps (mostly dev) too.

Reason for wanting electron is to try and see if this backport fixes the issue
with our streams not getting faithfully written:
https://github.com/electron/electron/pull/41052

In some ad-hoc and quick testing, I noticed that the new `writeStream` we've
implemented works fine for files up to 128 K, presumably some chunk size, but
then begins to diverge. Sounds similar (but not exactly the same) as this issue:
https://github.com/electron/electron/issues/39658

Unfortunately, this didn't fix the issue we're facing, so our case is perhaps
different.
2024-04-15 21:21:09 +05:30
Manav Rathi 02763e3be4
Kill the renderer when we quit the app 2024-04-12 14:05:10 +05:30
Manav Rathi c055cd9b4a
Remove the tscw 2024-03-26 21:45:21 +05:30
Manav Rathi c3dfa46514
Major version update of Electron
And other surrounding packages.
2024-03-26 21:42:48 +05:30
Manav Rathi 8f978a3d3d
Manually update the version info in package.json 2024-03-26 21:42:48 +05:30
LI-NA 8e4ca0bc79 [desktop] Add shx and change the build command
To make the build script work on Windows, added the `shx` package in dev dependency and changed the `rm` and `ln` commands to `shx rm` and `shx ln`.
2024-03-25 20:11:44 +09:00
Manav Rathi 3dbf82552d
Use the web native cache only - desktop side changes 2024-03-22 17:28:05 +05:30
Manav Rathi f083f0633d
Remove electron-reload
It reloads the BrowserWindow, but that already has HMR since we're connecting to
a Next dev server on localhost.

What we want is the main process to reload if the files for the main process are
changed. All options I've found so far just restart the main app on changes to
the main process code. I'm not sure that'll be useful, so not adding them right
now (and in any case, this is not a regression, it just wasn't working with
electron-reload either). For future reference if I need to revisit this, these
are the things I scouted:

- https://www.electronforge.io/config/plugins/webpack
- https://github.com/sindresorhus/electron-reloader
- https://electron-vite.org/guide/hot-reloading.html
2024-03-22 15:55:25 +05:30
Manav Rathi f2c288bdab
Remove promise-fs
Unnecessary, and unmaintained (since now node offers it natively)
2024-03-22 15:54:18 +05:30
Manav Rathi 94ac21950d
Convert to Electron's native fetch 2024-03-22 15:21:27 +05:30
Manav Rathi e4684b22df
Move out the electron-builder config to separate file 2024-03-19 19:17:01 +05:30
Manav Rathi d80fad6cf1
Remove unused vscode extension support
This doesn't belong in the repo even if were used
https://github.com/standard/vscode-standard
2024-03-19 19:17:01 +05:30
Manav Rathi a8de049519
Update concurrently's major version
No breaking changes that impact us - https://github.com/open-cli-tools/concurrently/releases
2024-03-19 19:17:01 +05:30
Manav Rathi e9fa525fe9
Remove unused electron-download
It was used for downloading symbols
2024-03-19 19:17:01 +05:30
Manav Rathi bff58f7b78
Update eslint settings to match main project 2024-03-19 19:17:01 +05:30
Manav Rathi a0f95b6080
Settle on a tsconfig for now
Electron also comes with its own type definitions, and from a (possibly dated)
blog post announcing this I got that we should not be overriding it with
@types/node: https://www.electronjs.org/pt/blog/typescript
2024-03-19 19:17:01 +05:30
Manav Rathi c19370ec51
Outline an ideal tsconfig.json 2024-03-19 19:17:01 +05:30
Manav Rathi 341f0fa559
Upgrade TypeScript 2024-03-19 19:17:01 +05:30
Manav Rathi 04b9966425
Quicker quick
Ref: https://webpack.electron.build/building
2024-03-19 19:17:01 +05:30
Manav Rathi a5e6f0cc30
Let Prettier 3 have a go at it 2024-03-12 18:01:09 +05:30
Manav Rathi 2322b41f67
Watch during dev 2024-03-12 17:56:46 +05:30
Manav Rathi 685e75d97d
Switch to upstream 2024-03-12 17:38:39 +05:30
Manav Rathi dff0af3397
Fix path to main process entrypoint 2024-03-12 16:47:41 +05:30
Manav Rathi c8b9b4cd8f
Document better 2024-03-12 16:33:43 +05:30
Manav Rathi d7cd2cecbc
Default buildResources is build 2024-03-12 16:12:53 +05:30
Manav Rathi 9b6e47d291
[desktop] Remove sentry
See 70cddfdf0b
2024-03-12 13:54:17 +05:30
Manav Rathi 84926cbee1 build take 2 2024-03-11 18:52:28 +05:30
Manav Rathi 621f81355b Work towards fixing build 2024-03-11 17:37:10 +05:30
Manav Rathi 849b61c5cf Document some and fix the path 2024-03-11 17:29:39 +05:30
Manav Rathi 267ad0d11f [desktop] Fix yarn build 2024-03-11 17:04:17 +05:30
Manav Rathi 88741083fe Prettier 3 + reformat (same as web) 2024-03-11 16:46:52 +05:30
Manav Rathi 25dda3598c Remove husky and lint-staged 2024-03-11 16:31:48 +05:30
Manav Rathi 1ac5222b09 Move into desktop/ 2024-03-01 12:36:35 +05:30
Renamed from package.json (Browse further)