commit
158baf11dd
83
.github/workflows/build.yml
vendored
83
.github/workflows/build.yml
vendored
|
@ -6,53 +6,52 @@ on:
|
||||||
- v*
|
- v*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, ubuntu-latest, windows-latest]
|
os: [macos-latest, ubuntu-latest, windows-latest]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out Git repository
|
- name: Check out Git repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Install Node.js, NPM and Yarn
|
- name: Install Node.js, NPM and Yarn
|
||||||
uses: actions/setup-node@v2.1.5
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 14
|
node-version: 16
|
||||||
|
|
||||||
- name: Prepare for app notarization
|
- name: Prepare for app notarization
|
||||||
if: startsWith(matrix.os, 'macos')
|
if: startsWith(matrix.os, 'macos')
|
||||||
# Import Apple API key for app notarization on macOS
|
# Import Apple API key for app notarization on macOS
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ~/private_keys/
|
mkdir -p ~/private_keys/
|
||||||
echo '${{ secrets.api_key }}' > ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8
|
echo '${{ secrets.api_key }}' > ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8
|
||||||
|
|
||||||
- name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181
|
- name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181
|
||||||
if: startsWith(matrix.os, 'ubuntu')
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
run: sudo apt-get install libarchive-tools
|
run: sudo apt-get install libarchive-tools
|
||||||
|
|
||||||
- name: Electron Builder Action
|
- name: Ente Electron Builder Action
|
||||||
uses: samuelmeuli/action-electron-builder@v1.6.0
|
uses: ente-io/action-electron-builder@v1.0.0
|
||||||
with:
|
with:
|
||||||
# GitHub token, automatically provided to the action
|
# GitHub token, automatically provided to the action
|
||||||
# (No need to define this secret in the repo settings)
|
# (No need to define this secret in the repo settings)
|
||||||
github_token: ${{ secrets.github_token }}
|
github_token: ${{ secrets.github_token }}
|
||||||
|
|
||||||
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
||||||
# release the app after building
|
# release the app after building
|
||||||
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
|
||||||
mac_certs: ${{ secrets.mac_certs }}
|
|
||||||
mac_certs_password: ${{ secrets.mac_certs_password }}
|
|
||||||
env:
|
|
||||||
# macOS notarization API key
|
|
||||||
API_KEY_ID: ${{ secrets.api_key_id }}
|
|
||||||
API_KEY_ISSUER_ID: ${{ secrets.api_key_issuer_id }}
|
|
||||||
# setry crash reporting token
|
|
||||||
SENTRY_AUTH_TOKEN: ${{secrets.sentry_auth_token}}
|
|
||||||
USE_HARD_LINKS: false
|
|
||||||
|
|
||||||
|
mac_certs: ${{ secrets.mac_certs }}
|
||||||
|
mac_certs_password: ${{ secrets.mac_certs_password }}
|
||||||
|
env:
|
||||||
|
# macOS notarization API key
|
||||||
|
API_KEY_ID: ${{ secrets.api_key_id }}
|
||||||
|
API_KEY_ISSUER_ID: ${{ secrets.api_key_issuer_id}}
|
||||||
|
# setry crash reporting token
|
||||||
|
SENTRY_AUTH_TOKEN: ${{secrets.sentry_auth_token}}
|
||||||
|
USE_HARD_LINKS: false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "ente",
|
"name": "ente",
|
||||||
"productName": "ente",
|
"productName": "ente",
|
||||||
"version": "1.6.17",
|
"version": "1.6.18",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Desktop client for ente.io",
|
"description": "Desktop client for ente.io",
|
||||||
"main": "app/main.js",
|
"main": "app/main.js",
|
||||||
|
|
|
@ -6,6 +6,8 @@ import { PROD_HOST_URL } from '../config';
|
||||||
import { isPlatform } from './common/platform';
|
import { isPlatform } from './common/platform';
|
||||||
import { getHideDockIconPreference } from '../services/userPreference';
|
import { getHideDockIconPreference } from '../services/userPreference';
|
||||||
import autoLauncher from '../services/autoLauncher';
|
import autoLauncher from '../services/autoLauncher';
|
||||||
|
import ElectronLog from 'electron-log';
|
||||||
|
import { logErrorSentry } from '../services/sentry';
|
||||||
|
|
||||||
export async function createWindow(): Promise<BrowserWindow> {
|
export async function createWindow(): Promise<BrowserWindow> {
|
||||||
const appImgPath = isDev
|
const appImgPath = isDev
|
||||||
|
@ -64,6 +66,20 @@ export async function createWindow(): Promise<BrowserWindow> {
|
||||||
// ignore
|
// ignore
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
mainWindow.webContents.on('render-process-gone', (event, details) => {
|
||||||
|
mainWindow.webContents.reload();
|
||||||
|
logErrorSentry(
|
||||||
|
Error('render-process-gone'),
|
||||||
|
'webContents event render-process-gone',
|
||||||
|
{ details }
|
||||||
|
);
|
||||||
|
ElectronLog.log('webContents event render-process-gone', details);
|
||||||
|
});
|
||||||
|
mainWindow.webContents.on('unresponsive', () => {
|
||||||
|
mainWindow.webContents.forcefullyCrashRenderer();
|
||||||
|
ElectronLog.log('webContents event unresponsive');
|
||||||
|
});
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
try {
|
try {
|
||||||
splash.destroy();
|
splash.destroy();
|
||||||
|
|
2
ui
2
ui
|
@ -1 +1 @@
|
||||||
Subproject commit 197b5f35f3588e142558636ccc1854f44b725861
|
Subproject commit a698d7cba07fcc42b86401c5a843d4a038fa22af
|
Loading…
Reference in a new issue