diff --git a/.gitattributes b/.gitattributes
index 3ad91aa898..ad84fe7c7b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -8,6 +8,8 @@
# Declare files that will always have LF line endings on checkout.
*.js text eol=lf
+*.ts text eol=lf
+*.sh text eol=lf
yarn.lock text eol=lf
# Denote all files that are truly binary and should not be modified.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f315aa7ec8..47475a636d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -45,20 +45,26 @@ jobs:
name: actual-web
path: packages/desktop-client/build
- # TODO: re-enable after solving https://github.com/actualbudget/actual/issues/468
- # electron:
- # # As electron builds take longer, we only run them in master.
- # if: github.event_name != 'pull_request'
- # strategy:
- # matrix:
- # os:
- # - ubuntu-latest
- # - windows-latest
- # - macos-latest
- # runs-on: ${{ matrix.os }}
- # steps:
- # - uses: actions/checkout@v3
- # - name: Set up environment
- # uses: ./.github/actions/setup
- # - name: Build Electron
- # run: ./bin/package
+ electron:
+ # As electron builds take longer, we only run them in master.
+ strategy:
+ matrix:
+ os:
+ - ubuntu-latest
+ - windows-latest
+ - macos-latest
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up environment
+ uses: ./.github/actions/setup
+ - name: Build Electron
+ run: ./bin/package-electron
+ - name: Upload Build
+ uses: actions/upload-artifact@v3
+ with:
+ name: actual-electron-${{ matrix.os }}
+ path: |
+ packages/desktop-electron/dist/*.dmg
+ packages/desktop-electron/dist/*.exe
+ packages/desktop-electron/dist/*.AppImage
diff --git a/bin/make-release b/bin/make-release
index 0792b60bd7..db4b5de279 100755
--- a/bin/make-release
+++ b/bin/make-release
@@ -42,7 +42,7 @@ git tag -a "$VERSION" -m "$NOTES"
git push origin "$VERSION"
# Make a macOS version
-./bin/package --release --version "$VERSION"
+./bin/package-electron --release --version "$VERSION"
# TODO: browser version
diff --git a/bin/package b/bin/package-electron
similarity index 92%
rename from bin/package
rename to bin/package-electron
index 84ca81157d..81509a1cf6 100755
--- a/bin/package
+++ b/bin/package-electron
@@ -74,19 +74,15 @@ if [ "$OSTYPE" == "msys" ]; then
fi
fi
-# We only need to run linting once (and this doesn't seem to work on
-# Windows for some reason)
-if [[ $CI != true && "$OSTYPE" == "darwin"* ]]; then
- yarn lint
-fi
-
yarn patch-package
+yarn rebuild-electron
+
yarn workspace loot-core build:node
yarn workspace @actual-app/web build
-yarn workspace Actual update-client
+yarn workspace desktop-electron update-client
(
cd packages/desktop-electron;
@@ -103,7 +99,7 @@ yarn workspace Actual update-client
echo "\nCreated release $VERSION with release notes \"$RELEASE_NOTES\""
elif [ "$RELEASE" == "beta" ]; then
yarn build --publish never --arm64 --x64
-
+
echo "\nCreated beta release $VERSION"
else
SKIP_NOTARIZATION=true yarn build --publish never --x64
diff --git a/package.json b/package.json
index 1091833580..66d3788892 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"start:desktop": "npm-run-all --parallel 'start:desktop-*'",
"start:desktop-node": "yarn workspace loot-core watch:node",
"start:desktop-client": "yarn workspace @actual-app/web watch",
- "start:desktop-electron": "yarn workspace Actual watch",
+ "start:desktop-electron": "yarn workspace desktop-electron watch",
"start:browser": "npm-run-all --parallel 'start:browser-*'",
"start:browser-backend": "yarn workspace loot-core watch:browser",
"start:browser-frontend": "yarn workspace @actual-app/web start:browser",
diff --git a/packages/desktop-client/src/browser-preload.browser.js b/packages/desktop-client/src/browser-preload.browser.js
index 41695b0f4d..c1c02b882d 100644
--- a/packages/desktop-client/src/browser-preload.browser.js
+++ b/packages/desktop-client/src/browser-preload.browser.js
@@ -110,7 +110,6 @@ global.Actual = {
applyAppUpdate: () => {},
updateAppMenu: isBudgetOpen => {},
- ipcConnect: () => {},
getServerSocket: async () => {
return worker;
},
diff --git a/packages/desktop-client/src/components/manager/ConfigServer.js b/packages/desktop-client/src/components/manager/ConfigServer.js
index 99e4819b31..b2c88e7717 100644
--- a/packages/desktop-client/src/components/manager/ConfigServer.js
+++ b/packages/desktop-client/src/components/manager/ConfigServer.js
@@ -5,6 +5,7 @@ import { useHistory } from 'react-router-dom';
import { createBudget } from 'loot-core/src/client/actions/budgets';
import { signOut, loggedIn } from 'loot-core/src/client/actions/user';
import { isNonProductionEnvironment } from 'loot-core/src/shared/environment';
+import { isElectron } from 'loot-core/src/shared/environment';
import { useSetThemeColor } from '../../hooks';
import { colors } from '../../style';
@@ -165,17 +166,19 @@ export default function ConfigServer() {
) : (
<>
-
+ {!isElectron() && (
+
+ )}