diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 26602518b..cc1f66b0f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,53 +6,52 @@ on: - v* jobs: - release: - runs-on: ${{ matrix.os }} + release: + runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, ubuntu-latest, windows-latest] + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] - steps: - - name: Check out Git repository - uses: actions/checkout@v2 - with: - submodules: recursive + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + with: + submodules: recursive - - name: Install Node.js, NPM and Yarn - uses: actions/setup-node@v2.1.5 - with: - node-version: 14 + - name: Install Node.js, NPM and Yarn + uses: actions/setup-node@v3 + with: + node-version: 16 - - name: Prepare for app notarization - if: startsWith(matrix.os, 'macos') - # Import Apple API key for app notarization on macOS - run: | - mkdir -p ~/private_keys/ - echo '${{ secrets.api_key }}' > ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8 + - name: Prepare for app notarization + if: startsWith(matrix.os, 'macos') + # Import Apple API key for app notarization on macOS + run: | + mkdir -p ~/private_keys/ + 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 - if: startsWith(matrix.os, 'ubuntu') - run: sudo apt-get install libarchive-tools + - name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181 + if: startsWith(matrix.os, 'ubuntu') + run: sudo apt-get install libarchive-tools - - name: Electron Builder Action - uses: samuelmeuli/action-electron-builder@v1.6.0 - with: - # GitHub token, automatically provided to the action - # (No need to define this secret in the repo settings) - github_token: ${{ secrets.github_token }} + - name: Ente Electron Builder Action + uses: ente-io/action-electron-builder@v1.0.0 + with: + # GitHub token, automatically provided to the action + # (No need to define this secret in the repo settings) + github_token: ${{ secrets.github_token }} - # If the commit is tagged with a version (e.g. "v1.0.0"), - # release the app after building - 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 + # If the commit is tagged with a version (e.g. "v1.0.0"), + # release the app after building + 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 diff --git a/package.json b/package.json index 1d6850775..2567b3350 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ente", "productName": "ente", - "version": "1.6.17", + "version": "1.6.18", "private": true, "description": "Desktop client for ente.io", "main": "app/main.js", diff --git a/src/utils/createWindow.ts b/src/utils/createWindow.ts index d2e02dffd..391a8e285 100644 --- a/src/utils/createWindow.ts +++ b/src/utils/createWindow.ts @@ -6,6 +6,8 @@ import { PROD_HOST_URL } from '../config'; import { isPlatform } from './common/platform'; import { getHideDockIconPreference } from '../services/userPreference'; import autoLauncher from '../services/autoLauncher'; +import ElectronLog from 'electron-log'; +import { logErrorSentry } from '../services/sentry'; export async function createWindow(): Promise { const appImgPath = isDev @@ -64,6 +66,20 @@ export async function createWindow(): Promise { // 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(() => { try { splash.destroy(); diff --git a/ui b/ui index 197b5f35f..a698d7cba 160000 --- a/ui +++ b/ui @@ -1 +1 @@ -Subproject commit 197b5f35f3588e142558636ccc1854f44b725861 +Subproject commit a698d7cba07fcc42b86401c5a843d4a038fa22af