mirror of
https://github.com/element-hq/element-desktop.git
synced 2026-02-05 13:22:18 -05:00
Compare commits
23 Commits
v1.12.10-r
...
midhun/imp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a30ac18fc | ||
|
|
657e9d2339 | ||
|
|
be6fb4e881 | ||
|
|
067e8e27c1 | ||
|
|
2766333e8a | ||
|
|
7a00e61675 | ||
|
|
d4ad12300e | ||
|
|
a16ddf7f0d | ||
|
|
f9a1855bbd | ||
|
|
0bd5657bab | ||
|
|
4828e73fe6 | ||
|
|
97b1df6d4e | ||
|
|
b15ec07272 | ||
|
|
f2de2c4503 | ||
|
|
16e1b10278 | ||
|
|
dfd8647ad1 | ||
|
|
a175dc7ec4 | ||
|
|
150f4f7a7d | ||
|
|
e1da99ee8b | ||
|
|
406a1c9883 | ||
|
|
717b7ca725 | ||
|
|
e01f598138 | ||
|
|
8915b008f7 |
2
.github/workflows/build_linux.yaml
vendored
2
.github/workflows/build_linux.yaml
vendored
@@ -116,7 +116,7 @@ jobs:
|
||||
|
||||
- name: Cache .hak
|
||||
id: cache
|
||||
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
|
||||
with:
|
||||
key: ${{ runner.os }}-${{ github.ref_name }}-${{ inputs.sqlcipher }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion', 'dockerbuild/*') }}
|
||||
path: |
|
||||
|
||||
4
.github/workflows/build_macos.yaml
vendored
4
.github/workflows/build_macos.yaml
vendored
@@ -90,7 +90,7 @@ jobs:
|
||||
|
||||
- name: Cache .hak
|
||||
id: cache
|
||||
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
|
||||
with:
|
||||
key: ${{ runner.os }}-${{ hashFiles('hakHash', 'electronVersion') }}
|
||||
path: |
|
||||
@@ -105,7 +105,7 @@ jobs:
|
||||
rustup target add x86_64-apple-darwin
|
||||
|
||||
# M1 macos-14 comes without Python preinstalled
|
||||
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
|
||||
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
|
||||
with:
|
||||
python-version: "3.13"
|
||||
|
||||
|
||||
2
.github/workflows/build_windows.yaml
vendored
2
.github/workflows/build_windows.yaml
vendored
@@ -119,7 +119,7 @@ jobs:
|
||||
|
||||
- name: Cache .hak
|
||||
id: cache
|
||||
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
|
||||
with:
|
||||
key: ${{ runner.os }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion') }}
|
||||
path: |
|
||||
|
||||
2
.github/workflows/dockerbuild.yaml
vendored
2
.github/workflows/dockerbuild.yaml
vendored
@@ -42,7 +42,7 @@ jobs:
|
||||
run: docker run -v $PWD:/project element-desktop-dockerbuild yarn install
|
||||
|
||||
- name: Log in to the Container registry
|
||||
uses: docker/login-action@0567fa5ae8c9a197cb207537dc5cbb43ca3d803f
|
||||
uses: docker/login-action@3227f5311cb93ffd14d13e65d8cc400d30f4dd8a
|
||||
if: github.event_name != 'pull_request'
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Docker image to facilitate building Element Desktop's native bits using a glibc version (2.31)
|
||||
# with broader compatibility, down to Debian bullseye & Ubuntu focal.
|
||||
FROM rust:bullseye@sha256:c6d501c039204c21e9fa374f234bd41bdc8b36cfd455a407ef145d9bef19f2b7
|
||||
FROM rust:bullseye@sha256:3ebcc2d6d71fb93a2967e35723902c51dd87dbb36f66f795a58d7921553fbcd4
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@electron/asar": "4.0.1",
|
||||
"@playwright/test": "1.57.0",
|
||||
"@playwright/test": "1.58.1",
|
||||
"@stylistic/eslint-plugin": "^5.0.0",
|
||||
"@types/auto-launch": "^5.0.1",
|
||||
"@types/counterpart": "^0.18.1",
|
||||
@@ -88,10 +88,11 @@
|
||||
"app-builder-lib": "26.6.0",
|
||||
"chokidar": "^5.0.0",
|
||||
"detect-libc": "^2.0.0",
|
||||
"electron": "40.0.0",
|
||||
"electron": "40.1.0",
|
||||
"electron-builder": "26.6.0",
|
||||
"electron-builder-squirrel-windows": "26.6.0",
|
||||
"electron-devtools-installer": "^4.0.0",
|
||||
"electron-playwright-helpers": "^2.1.0",
|
||||
"eslint": "^8.26.0",
|
||||
"eslint-config-google": "^0.14.0",
|
||||
"eslint-config-prettier": "^10.0.0",
|
||||
@@ -103,7 +104,7 @@
|
||||
"husky": "^9.1.6",
|
||||
"knip": "^5.0.0",
|
||||
"lint-staged": "^16.0.0",
|
||||
"matrix-web-i18n": "3.5.2",
|
||||
"matrix-web-i18n": "3.6.0",
|
||||
"mkdirp": "^3.0.0",
|
||||
"pacote": "^21.0.0",
|
||||
"patch-package": "^8.0.1",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM mcr.microsoft.com/playwright:v1.57.0-jammy@sha256:6aca677c27a967caf7673d108ac67ffaf8fed134f27e17b27a05464ca0ace831
|
||||
FROM mcr.microsoft.com/playwright:v1.58.1-jammy@sha256:1b52a0833ae13c3bb16f728eec5f9216db29f3cd5eec21a9cbd33e7623723c0e
|
||||
|
||||
WORKDIR /work/element-desktop
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import path, { dirname } from "node:path";
|
||||
import os from "node:os";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { PassThrough } from "node:stream";
|
||||
import { stubDialog } from "electron-playwright-helpers";
|
||||
|
||||
/**
|
||||
* A PassThrough stream that captures all data written to it.
|
||||
@@ -111,6 +112,8 @@ export const test = base.extend<Fixtures>({
|
||||
page: async ({ app }, use) => {
|
||||
const window = await app.firstWindow();
|
||||
await use(window);
|
||||
// EW may be configured to ask for confirmation before the app exits.
|
||||
await stubDialog(app, "showMessageBoxSync", 1);
|
||||
await app.close().catch((e) => {
|
||||
console.error(e);
|
||||
});
|
||||
|
||||
@@ -507,15 +507,42 @@ app.on("ready", async () => {
|
||||
const exitShortcutPressed =
|
||||
input.type === "keyDown" && exitShortcuts.some((shortcutFn) => shortcutFn(input, process.platform));
|
||||
|
||||
// We only care about the exit shortcuts here
|
||||
if (!exitShortcutPressed || !global.mainWindow) return;
|
||||
// Early return if:
|
||||
// 1. Keys that were pressed are not shortcuts for exiting the app
|
||||
// 2. Electron mainWindow is null for some reason
|
||||
// 3. The application is already in the process of quitting
|
||||
if (!exitShortcutPressed || !global.mainWindow || global.appQuitting) return;
|
||||
|
||||
// Prevent the default behaviour
|
||||
event.preventDefault();
|
||||
|
||||
// Let's ask the user if they really want to exit the app
|
||||
// Check if the user expects us to minimize to tray instead of quitting the app
|
||||
// Two cases:
|
||||
// 1. On Linux/Windows, user has enabled "Show tray icon and minimise window to it on close" in settings.
|
||||
// 2. On Mac, the canonical behaviour is to minimize to tray; this is not configurable.
|
||||
const shouldMinimize = store.get("minimizeToTray") || process.platform === "darwin";
|
||||
if (shouldMinimize) {
|
||||
if (global.mainWindow?.isFullScreen()) {
|
||||
global.mainWindow.once("leave-full-screen", () => global.mainWindow?.hide());
|
||||
global.mainWindow.setFullScreen(false);
|
||||
} else {
|
||||
global.mainWindow?.hide();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Quit the app; rest of the quit logic is on the close event handler below.
|
||||
app.quit();
|
||||
});
|
||||
|
||||
global.mainWindow.on("closed", () => {
|
||||
global.mainWindow = null;
|
||||
});
|
||||
|
||||
global.mainWindow.on("close", async (e) => {
|
||||
// Check if the user expects us to ask for confirmation before quitting the app
|
||||
const shouldWarnBeforeExit = store.get("warnBeforeExit", true);
|
||||
if (shouldWarnBeforeExit) {
|
||||
if (shouldWarnBeforeExit && global.mainWindow) {
|
||||
const shouldCancelCloseRequest =
|
||||
dialog.showMessageBoxSync(global.mainWindow, {
|
||||
type: "question",
|
||||
@@ -529,33 +556,11 @@ app.on("ready", async () => {
|
||||
defaultId: 1,
|
||||
cancelId: 0,
|
||||
}) === 0;
|
||||
if (shouldCancelCloseRequest) return;
|
||||
}
|
||||
|
||||
// Exit the app
|
||||
app.exit();
|
||||
});
|
||||
|
||||
global.mainWindow.on("closed", () => {
|
||||
global.mainWindow = null;
|
||||
});
|
||||
global.mainWindow.on("close", async (e) => {
|
||||
// If we are not quitting and have a tray icon then minimize to tray
|
||||
if (!global.appQuitting && (tray.hasTray() || process.platform === "darwin")) {
|
||||
// On Mac, closing the window just hides it
|
||||
// (this is generally how single-window Mac apps
|
||||
// behave, eg. Mail.app)
|
||||
e.preventDefault();
|
||||
|
||||
if (global.mainWindow?.isFullScreen()) {
|
||||
global.mainWindow.once("leave-full-screen", () => global.mainWindow?.hide());
|
||||
|
||||
global.mainWindow.setFullScreen(false);
|
||||
} else {
|
||||
global.mainWindow?.hide();
|
||||
if (shouldCancelCloseRequest) {
|
||||
e.preventDefault();
|
||||
global.appQuitting = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"eol": {
|
||||
"no_more_updates": "Používáte nepodporovanou verzi systému macOS. Prosím upgradujte %(brand)s pro získání aktualizací.",
|
||||
"title": "Systém není podporován",
|
||||
"warning": "Používáte nepodporovanou verzi systému macOS. Proveďte prosím upgrade %(brand)s , aby byl stále funkční."
|
||||
"warning": "Používáte nepodporovanou verzi systému macOS. Proveďte prosím upgrade %(brand)s, aby byl stále funkční."
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Soubor"
|
||||
|
||||
Reference in New Issue
Block a user