mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-29 19:13:32 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9baf140eb | ||
|
|
727c2335f6 | ||
|
|
e8173919f8 | ||
|
|
cf2f4fe9c9 | ||
|
|
47cdd5fa8b | ||
|
|
90e76fab6e | ||
|
|
193adb1901 | ||
|
|
b520e12492 | ||
|
|
ae642bc7ba |
@@ -1,7 +1,14 @@
|
||||
import type {Event} from "electron/common";
|
||||
import {clipboard} from "electron/common";
|
||||
import type {IpcMainEvent, WebContents} from "electron/main";
|
||||
import {BrowserWindow, app, dialog, powerMonitor, session} from "electron/main";
|
||||
import {
|
||||
BrowserWindow,
|
||||
app,
|
||||
dialog,
|
||||
powerMonitor,
|
||||
session,
|
||||
webContents,
|
||||
} from "electron/main";
|
||||
import {Buffer} from "node:buffer";
|
||||
import crypto from "node:crypto";
|
||||
import path from "node:path";
|
||||
@@ -389,6 +396,21 @@ ${error}`,
|
||||
},
|
||||
);
|
||||
|
||||
ipcMain.on(
|
||||
"forward-to",
|
||||
<Channel extends keyof RendererMessage>(
|
||||
_event: IpcMainEvent,
|
||||
webContentsId: number,
|
||||
listener: Channel,
|
||||
...parameters: Parameters<RendererMessage[Channel]>
|
||||
) => {
|
||||
const contents = webContents.fromId(webContentsId);
|
||||
if (contents !== undefined) {
|
||||
send(contents, listener, ...parameters);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
ipcMain.on("update-menu", (_event, props: MenuProps) => {
|
||||
AppMenu.setMenu(props);
|
||||
if (props.activeTabIndex !== undefined) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {app} from "electron/main";
|
||||
|
||||
import * as Sentry from "@sentry/electron/main"; // eslint-disable-line n/file-extension-in-import
|
||||
import * as Sentry from "@sentry/electron/main";
|
||||
|
||||
import {getConfigItem} from "../common/config-util.js";
|
||||
|
||||
|
||||
@@ -33,6 +33,15 @@ export const ipcMain: {
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
) => void,
|
||||
): void;
|
||||
on(
|
||||
channel: "forward-to",
|
||||
listener: <Channel extends keyof RendererMessage>(
|
||||
event: IpcMainEvent,
|
||||
webContentsId: number,
|
||||
channel: Channel,
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
) => void,
|
||||
): void;
|
||||
on<Channel extends keyof MainMessage>(
|
||||
channel: Channel,
|
||||
listener: MainListener<Channel>,
|
||||
|
||||
@@ -10,7 +10,7 @@ import type {Html} from "../../../common/html.js";
|
||||
import {html} from "../../../common/html.js";
|
||||
import type {RendererMessage} from "../../../common/typed-ipc.js";
|
||||
import type {TabRole} from "../../../common/types.js";
|
||||
import preloadCss from "../../css/preload.css?raw"; // eslint-disable-line n/file-extension-in-import
|
||||
import preloadCss from "../../css/preload.css?raw";
|
||||
import {ipcRenderer} from "../typed-ipc-renderer.js";
|
||||
import * as SystemUtil from "../utils/system-util.js";
|
||||
|
||||
@@ -226,7 +226,7 @@ export default class WebView {
|
||||
channel: Channel,
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
): void {
|
||||
ipcRenderer.sendTo(this.webContentsId, channel, ...args);
|
||||
ipcRenderer.send("forward-to", this.webContentsId, channel, ...args);
|
||||
}
|
||||
|
||||
private registerListeners(): void {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {EventEmitter} from "events"; // eslint-disable-line unicorn/prefer-node-protocol
|
||||
import {EventEmitter} from "node:events";
|
||||
|
||||
import type {ClipboardDecrypter} from "./clipboard-decrypter.js";
|
||||
import {ClipboardDecrypterImpl} from "./clipboard-decrypter.js";
|
||||
|
||||
@@ -156,12 +156,12 @@ export class ServerManagerView {
|
||||
ConfigUtil.getConfigItem("useSystemProxy", false)
|
||||
? {mode: "system"}
|
||||
: ConfigUtil.getConfigItem("useManualProxy", false)
|
||||
? {
|
||||
pacScript: ConfigUtil.getConfigItem("proxyPAC", ""),
|
||||
proxyRules: ConfigUtil.getConfigItem("proxyRules", ""),
|
||||
proxyBypassRules: ConfigUtil.getConfigItem("proxyBypass", ""),
|
||||
}
|
||||
: {mode: "direct"},
|
||||
? {
|
||||
pacScript: ConfigUtil.getConfigItem("proxyPAC", ""),
|
||||
proxyRules: ConfigUtil.getConfigItem("proxyRules", ""),
|
||||
proxyBypassRules: ConfigUtil.getConfigItem("proxyBypass", ""),
|
||||
}
|
||||
: {mode: "direct"},
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -356,7 +356,8 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
|
||||
const newValue = !ConfigUtil.getConfigItem("silent", true);
|
||||
ConfigUtil.setConfigItem("silent", newValue);
|
||||
updateSilentOption();
|
||||
ipcRenderer.sendTo(
|
||||
ipcRenderer.send(
|
||||
"forward-to",
|
||||
currentBrowserWindow.webContents.id,
|
||||
"toggle-silent",
|
||||
newValue,
|
||||
|
||||
@@ -138,7 +138,7 @@ function sendAction<Channel extends keyof RendererMessage>(
|
||||
win.restore();
|
||||
}
|
||||
|
||||
ipcRenderer.sendTo(win.webContents.id, channel, ...args);
|
||||
ipcRenderer.send("forward-to", win.webContents.id, channel, ...args);
|
||||
}
|
||||
|
||||
const createTray = function (): void {
|
||||
|
||||
@@ -37,6 +37,12 @@ export const ipcRenderer: {
|
||||
rendererChannel: Channel,
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
): void;
|
||||
send<Channel extends keyof RendererMessage>(
|
||||
channel: "forward-to",
|
||||
webContentsId: number,
|
||||
rendererChannel: Channel,
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
): void;
|
||||
send<Channel extends keyof MainMessage>(
|
||||
channel: Channel,
|
||||
...args: Parameters<MainMessage[Channel]>
|
||||
@@ -56,11 +62,6 @@ export const ipcRenderer: {
|
||||
: never,
|
||||
transfer?: MessagePort[],
|
||||
): void;
|
||||
sendTo<Channel extends keyof RendererMessage>(
|
||||
webContentsId: number,
|
||||
channel: Channel,
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
): void;
|
||||
sendToHost<Channel extends keyof RendererMessage>(
|
||||
channel: Channel,
|
||||
...args: Parameters<RendererMessage[Channel]>
|
||||
|
||||
22
changelog.md
22
changelog.md
@@ -2,6 +2,28 @@
|
||||
|
||||
All notable changes to the Zulip desktop app are documented in this file.
|
||||
|
||||
### v5.10.4 --2024-01-09
|
||||
|
||||
**Dependencies**:
|
||||
|
||||
- Upgraded all dependencies, including Electron 28.1.1.
|
||||
|
||||
### v5.10.3 --2023-09-30
|
||||
|
||||
**Fixes**:
|
||||
|
||||
- Fixed an error in the third-party `gatemaker` library that broke the display of notifications for completed downloads.
|
||||
|
||||
**Dependencies**:
|
||||
|
||||
- Upgraded all dependencies, including Electron 25.8.4.
|
||||
|
||||
### v5.10.2 --2023-09-14
|
||||
|
||||
**Dependencies**:
|
||||
|
||||
- Downgraded Electron to 25.8.1 to avoid a renderer process crash on Linux.
|
||||
|
||||
### v5.10.1 --2023-09-13
|
||||
|
||||
**Dependencies**:
|
||||
|
||||
3454
package-lock.json
generated
3454
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "zulip",
|
||||
"productName": "Zulip",
|
||||
"version": "5.10.1",
|
||||
"version": "5.10.4",
|
||||
"main": "./dist-electron",
|
||||
"description": "Zulip Desktop App",
|
||||
"license": "Apache-2.0",
|
||||
@@ -143,7 +143,7 @@
|
||||
"InstantMessaging"
|
||||
],
|
||||
"dependencies": {
|
||||
"gatemaker": "^1.0.0"
|
||||
"gatemaker": "https://github.com/andersk/gatemaker/archive/d31890ae1cb293faabcb1e4e465c673458f6eed2.tar.gz"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/remote": "^2.0.8",
|
||||
@@ -152,16 +152,16 @@
|
||||
"@types/auto-launch": "^5.0.2",
|
||||
"@types/backoff": "^2.5.2",
|
||||
"@types/i18n": "^0.13.1",
|
||||
"@types/node": "^18.16.5",
|
||||
"@types/node": "~18.17.19",
|
||||
"@types/requestidlecallback": "^0.3.4",
|
||||
"@types/yaireo__tagify": "^4.3.2",
|
||||
"@yaireo/tagify": "^4.5.0",
|
||||
"adm-zip": "^0.5.5",
|
||||
"auto-launch": "^5.0.5",
|
||||
"backoff": "^2.5.0",
|
||||
"electron": "^26.2.1",
|
||||
"electron": "^28.1.1",
|
||||
"electron-builder": "^24.6.4",
|
||||
"electron-log": "^4.3.5",
|
||||
"electron-log": "^5.0.3",
|
||||
"electron-updater": "^6.1.4",
|
||||
"electron-window-state": "^5.0.3",
|
||||
"escape-goat": "^4.0.0",
|
||||
@@ -170,17 +170,17 @@
|
||||
"iso-639-1": "^3.1.0",
|
||||
"medium": "^1.2.0",
|
||||
"node-json-db": "^1.3.0",
|
||||
"playwright-core": "^1.30.0-alpha-jan-3-2023",
|
||||
"playwright-core": "^1.41.0-alpha-jan-9-2024",
|
||||
"pre-commit": "^1.2.2",
|
||||
"prettier": "^3.0.3",
|
||||
"rimraf": "^5.0.0",
|
||||
"semver": "^7.3.5",
|
||||
"stylelint": "^15.6.1",
|
||||
"stylelint-config-standard": "^34.0.0",
|
||||
"stylelint": "^16.1.0",
|
||||
"stylelint-config-standard": "^36.0.0",
|
||||
"tape": "^5.2.2",
|
||||
"typescript": "^5.0.4",
|
||||
"vite": "^4.1.1",
|
||||
"vite-plugin-electron": "^0.14.1",
|
||||
"vite": "^5.0.11",
|
||||
"vite-plugin-electron": "^0.28.0",
|
||||
"xo": "^0.56.0",
|
||||
"zod": "^3.5.1"
|
||||
},
|
||||
|
||||
@@ -5,15 +5,6 @@ import * as path from "node:path";
|
||||
import {defineConfig} from "vite";
|
||||
import electron from "vite-plugin-electron";
|
||||
|
||||
let resolvePreload: () => void;
|
||||
let resolveRenderer: () => void;
|
||||
const whenPreload = new Promise<void>((resolve) => {
|
||||
resolvePreload = resolve;
|
||||
});
|
||||
const whenRenderer = new Promise<void>((resolve) => {
|
||||
resolveRenderer = resolve;
|
||||
});
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
electron([
|
||||
@@ -21,11 +12,6 @@ export default defineConfig({
|
||||
entry: {
|
||||
index: "app/main",
|
||||
},
|
||||
async onstart({startup}) {
|
||||
await whenPreload;
|
||||
await whenRenderer;
|
||||
await startup();
|
||||
},
|
||||
vite: {
|
||||
build: {
|
||||
sourcemap: true,
|
||||
@@ -48,9 +34,6 @@ export default defineConfig({
|
||||
entry: {
|
||||
preload: "app/renderer/js/preload.ts",
|
||||
},
|
||||
onstart() {
|
||||
resolvePreload();
|
||||
},
|
||||
vite: {
|
||||
build: {
|
||||
sourcemap: "inline",
|
||||
@@ -64,9 +47,6 @@ export default defineConfig({
|
||||
entry: {
|
||||
renderer: "app/renderer/js/main.ts",
|
||||
},
|
||||
onstart() {
|
||||
resolveRenderer();
|
||||
},
|
||||
vite: {
|
||||
build: {
|
||||
sourcemap: true,
|
||||
|
||||
Reference in New Issue
Block a user