mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-23 03:31:56 +00:00
@@ -10,7 +10,7 @@ Zulip-Desktop app is built on top of [Electron](http://electron.atom.io/). If yo
|
|||||||
|
|
||||||
## Community
|
## Community
|
||||||
|
|
||||||
- The whole Zulip documentation, such as setting up a development environment, setting up with the Zulip webapp project, and testing, can be read [here](https://zulip.readthedocs.io).
|
- The whole Zulip documentation, such as setting up a development environment, setting up with the Zulip web app project, and testing, can be read [here](https://zulip.readthedocs.io).
|
||||||
|
|
||||||
- If you have any questions regarding zulip-desktop, open an [issue](https://github.com/zulip/zulip-desktop/issues/new/) or ask it on [chat.zulip.org](https://chat.zulip.org/#narrow/stream/16-desktop).
|
- If you have any questions regarding zulip-desktop, open an [issue](https://github.com/zulip/zulip-desktop/issues/new/) or ask it on [chat.zulip.org](https://chat.zulip.org/#narrow/stream/16-desktop).
|
||||||
|
|
||||||
|
@@ -24,9 +24,9 @@ Please see the [installation guide](https://zulip.com/help/desktop-app-install-g
|
|||||||
|
|
||||||
# Reporting issues
|
# Reporting issues
|
||||||
|
|
||||||
This desktop client shares most of its code with the Zulip webapp.
|
This desktop client shares most of its code with the Zulip web app.
|
||||||
Issues in an individual organization's Zulip window should be reported
|
Issues in an individual organization's Zulip window should be reported
|
||||||
in the [Zulip server and webapp
|
in the [Zulip server and web app
|
||||||
project](https://github.com/zulip/zulip/issues/new). Other
|
project](https://github.com/zulip/zulip/issues/new). Other
|
||||||
issues in the desktop app and its settings should be reported [in this
|
issues in the desktop app and its settings should be reported [in this
|
||||||
project](https://github.com/zulip/zulip-desktop/issues/new).
|
project](https://github.com/zulip/zulip-desktop/issues/new).
|
||||||
|
@@ -77,7 +77,7 @@ export type RendererMessage = {
|
|||||||
toggletray: () => void;
|
toggletray: () => void;
|
||||||
tray: (arg: number) => void;
|
tray: (arg: number) => void;
|
||||||
"update-realm-icon": (serverURL: string, iconURL: string) => void;
|
"update-realm-icon": (serverURL: string, iconURL: string) => void;
|
||||||
"update-realm-name": (serveRURL: string, realmName: string) => void;
|
"update-realm-name": (serverURL: string, realmName: string) => void;
|
||||||
"webview-reload": () => void;
|
"webview-reload": () => void;
|
||||||
zoomActualSize: () => void;
|
zoomActualSize: () => void;
|
||||||
zoomIn: () => void;
|
zoomIn: () => void;
|
||||||
|
@@ -30,7 +30,7 @@ export async function appUpdater(updateFromMenu = false): Promise<void> {
|
|||||||
|
|
||||||
let updateAvailable = false;
|
let updateAvailable = false;
|
||||||
|
|
||||||
// Log whats happening
|
// Log what's happening
|
||||||
log.transports.file.fileName = "updates.log";
|
log.transports.file.fileName = "updates.log";
|
||||||
log.transports.file.level = "info";
|
log.transports.file.level = "info";
|
||||||
autoUpdater.logger = log;
|
autoUpdater.logger = log;
|
||||||
|
@@ -137,7 +137,7 @@ export const contextMenu = (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Hide the invisible separators on Linux and Windows
|
// Hide the invisible separators on Linux and Windows
|
||||||
// Electron has a bug which ignores visible: false parameter for separator menuitems. So we remove them here.
|
// Electron has a bug which ignores visible: false parameter for separator menu items. So we remove them here.
|
||||||
// https://github.com/electron/electron/issues/5869
|
// https://github.com/electron/electron/issues/5869
|
||||||
// https://github.com/electron/electron/issues/6906
|
// https://github.com/electron/electron/issues/6906
|
||||||
|
|
||||||
|
@@ -201,7 +201,7 @@ export default class WebView {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// To show or hide the loading indicator in the the active tab
|
// To show or hide the loading indicator in the active tab
|
||||||
this.$webviewsContainer.toggle("loaded", !this.loading);
|
this.$webviewsContainer.toggle("loaded", !this.loading);
|
||||||
|
|
||||||
this.$el.classList.add("active");
|
this.$el.classList.add("active");
|
||||||
|
@@ -105,7 +105,7 @@ ipcRenderer.on("set-idle", () => {
|
|||||||
|
|
||||||
// This follows node's idiomatic implementation of event
|
// This follows node's idiomatic implementation of event
|
||||||
// emitters to make event handling more simpler instead of using
|
// emitters to make event handling more simpler instead of using
|
||||||
// functions zulip side will emit event using ElectronBrigde.send_event
|
// functions zulip side will emit event using ElectronBridge.send_event
|
||||||
// which is alias of .emit and on this side we can handle the data by adding
|
// which is alias of .emit and on this side we can handle the data by adding
|
||||||
// a listener for the event.
|
// a listener for the event.
|
||||||
export default electron_bridge;
|
export default electron_bridge;
|
||||||
|
@@ -1126,7 +1126,7 @@ export class ServerManagerView {
|
|||||||
ipcRenderer.on(
|
ipcRenderer.on(
|
||||||
"render-taskbar-icon",
|
"render-taskbar-icon",
|
||||||
(event: Event, messageCount: number) => {
|
(event: Event, messageCount: number) => {
|
||||||
// Create a canvas from unread messagecounts
|
// Create a canvas from unread message counts
|
||||||
function createOverlayIcon(messageCount: number): HTMLCanvasElement {
|
function createOverlayIcon(messageCount: number): HTMLCanvasElement {
|
||||||
const canvas = document.createElement("canvas");
|
const canvas = document.createElement("canvas");
|
||||||
canvas.height = 128;
|
canvas.height = 128;
|
||||||
|
@@ -592,7 +592,7 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function initSpellChecker(): void {
|
function initSpellChecker(): void {
|
||||||
// The elctron API is a no-op on macOS and macOS default spellchecker is used.
|
// The Electron API is a no-op on macOS and macOS default spellchecker is used.
|
||||||
if (process.platform === "darwin") {
|
if (process.platform === "darwin") {
|
||||||
const note: HTMLElement = $root.querySelector("#note")!;
|
const note: HTMLElement = $root.querySelector("#note")!;
|
||||||
note.append(t.__("On macOS, the OS spellchecker is used."));
|
note.append(t.__("On macOS, the OS spellchecker is used."));
|
||||||
|
@@ -34,7 +34,7 @@ ipcRenderer.on("show-keyboard-shortcuts", () => {
|
|||||||
if (node.textContent!.trim().toLowerCase() === "keyboard shortcuts (?)") {
|
if (node.textContent!.trim().toLowerCase() === "keyboard shortcuts (?)") {
|
||||||
node.click();
|
node.click();
|
||||||
} else {
|
} else {
|
||||||
// Atleast click the dropdown
|
// At least click the dropdown
|
||||||
const dropdown: HTMLElement = document.querySelector(".dropdown-toggle")!;
|
const dropdown: HTMLElement = document.querySelector(".dropdown-toggle")!;
|
||||||
dropdown.click();
|
dropdown.click();
|
||||||
}
|
}
|
||||||
|
20
changelog.md
20
changelog.md
@@ -193,10 +193,10 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
**New features**:
|
**New features**:
|
||||||
|
|
||||||
- Add a cancel button in the report-issue modal.
|
- Add a cancel button in the report-issue modal.
|
||||||
- macOS: Use electron API to get dark tray icon instead of the green icon for the light theme.
|
- macOS: Use Electron API to get dark tray icon instead of the green icon for the light theme.
|
||||||
- Remove 'Reset App Data' option. Factory Reset option has been moved to Settings → General.
|
- Remove 'Reset App Data' option. Factory Reset option has been moved to Settings → General.
|
||||||
- Support pkg installer on macOS.
|
- Support pkg installer on macOS.
|
||||||
- Use electron 8 built-in spellchecker. Linux and Windows users can now choose upto three spellchecker languages from Settings → General. On macOS, default spellchecker is used.
|
- Use Electron 8 built-in spellchecker. Linux and Windows users can now choose up to three spellchecker languages from Settings → General. On macOS, default spellchecker is used.
|
||||||
- Setup Transifex for better synchronization of translations. The application now supports 41 languages instead of 21.
|
- Setup Transifex for better synchronization of translations. The application now supports 41 languages instead of 21.
|
||||||
|
|
||||||
**Dependencies**:
|
**Dependencies**:
|
||||||
@@ -304,7 +304,7 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
- Document enterprise configuration features.
|
- Document enterprise configuration features.
|
||||||
- Update the Electron tutorial guide.
|
- Update the Electron tutorial guide.
|
||||||
- Explicitly address where to report bugs in `README.md`.
|
- Explicitly address where to report bugs in `README.md`.
|
||||||
- Fix typo in the link to server/webapp repository in `README.md`.
|
- Fix typo in the link to server/web app repository in `README.md`.
|
||||||
- Add documentation for translation.
|
- Add documentation for translation.
|
||||||
|
|
||||||
### v4.0.0 --2019-08-08
|
### v4.0.0 --2019-08-08
|
||||||
@@ -355,7 +355,7 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
**Development**:
|
**Development**:
|
||||||
|
|
||||||
- Migrate codebase to TypeScript.
|
- Migrate codebase to TypeScript.
|
||||||
- Set the indent_size in `.editconfig` to 4.
|
- Set the indent_size in `.editorconfig` to 4.
|
||||||
- Use `.env` file for reading Sentry DSN.
|
- Use `.env` file for reading Sentry DSN.
|
||||||
|
|
||||||
**Documentation**:
|
**Documentation**:
|
||||||
@@ -424,7 +424,7 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
- Fix typo in network error message.
|
- Fix typo in network error message.
|
||||||
- Fix context menu not working on adding new org.
|
- Fix context menu not working on adding new org.
|
||||||
- Fix reply from notification.
|
- Fix reply from notification.
|
||||||
- Fix shorcut section horizontal alignment.
|
- Fix shortcut section horizontal alignment.
|
||||||
- Fix broken link in docs.
|
- Fix broken link in docs.
|
||||||
- Fix grammatical errors.
|
- Fix grammatical errors.
|
||||||
- Fix typo error in issue template.
|
- Fix typo error in issue template.
|
||||||
@@ -463,7 +463,7 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
- Auto hide menubar on Windows/Linux. Add a setting option for the same.
|
- Auto hide menubar on Windows/Linux. Add a setting option for the same.
|
||||||
- Improve design of setting page.
|
- Improve design of setting page.
|
||||||
- Toggle app on clicking the tray icon (Linux).
|
- Toggle app on clicking the tray icon (Linux).
|
||||||
- Update sidebar realm name when it's changed in webapp.
|
- Update sidebar realm name when it's changed in web app.
|
||||||
- left-sidebar: Add initial character of realm name instead of default icon.
|
- left-sidebar: Add initial character of realm name instead of default icon.
|
||||||
|
|
||||||
**Fixes**:
|
**Fixes**:
|
||||||
@@ -500,7 +500,7 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
|
|
||||||
**Fixes**:
|
**Fixes**:
|
||||||
|
|
||||||
- Fix youtube video not playing in lightbox.
|
- Fix YouTube video not playing in lightbox.
|
||||||
- Fix realm name not escaped properly.
|
- Fix realm name not escaped properly.
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
@@ -510,7 +510,7 @@ All notable changes to the Zulip desktop app are documented in this file.
|
|||||||
**New features**:
|
**New features**:
|
||||||
|
|
||||||
- Add a setting option to show downloaded file in file manager.
|
- Add a setting option to show downloaded file in file manager.
|
||||||
- Added electron bridge to communicate with webapp in real time.
|
- Added Electron bridge to communicate with web app in real time.
|
||||||
|
|
||||||
**Fixes**:
|
**Fixes**:
|
||||||
|
|
||||||
@@ -623,7 +623,7 @@ electron-updater - `v2.21.8`
|
|||||||
|
|
||||||
- Add an option to download the file attachments instead of opening it in the browser
|
- Add an option to download the file attachments instead of opening it in the browser
|
||||||
|
|
||||||
- Open image link in webapp lightbox
|
- Open image link in web app lightbox
|
||||||
|
|
||||||
- Add scrollbar for list of organizations on overflow
|
- Add scrollbar for list of organizations on overflow
|
||||||
|
|
||||||
@@ -1102,7 +1102,7 @@ Minor improvements
|
|||||||
|
|
||||||
- Using two package.json structure
|
- Using two package.json structure
|
||||||
|
|
||||||
- Node integration disabled in main window due to jquery error
|
- Node integration disabled in main window due to jQuery error
|
||||||
|
|
||||||
- Now using electron-builder for packaging instead of electron-packager
|
- Now using electron-builder for packaging instead of electron-packager
|
||||||
|
|
||||||
|
@@ -49,7 +49,7 @@ If [NPM](https://www.npmjs.com/get-npm) and [node-gyp](https://github.com/nodejs
|
|||||||
|
|
||||||
[node-windows]: https://nodejs.org/en/download/package-manager/#windows
|
[node-windows]: https://nodejs.org/en/download/package-manager/#windows
|
||||||
|
|
||||||
- Also, install install Windows-Build-Tools to compile native node modules by using
|
- Also, install Windows-Build-Tools to compile native node modules by using
|
||||||
```sh
|
```sh
|
||||||
$ npm install --global windows-build-tools
|
$ npm install --global windows-build-tools
|
||||||
```
|
```
|
||||||
|
@@ -5,13 +5,13 @@
|
|||||||
- [Git](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
- [Git](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
||||||
- [Node.js](https://nodejs.org) >= v6.9.0
|
- [Node.js](https://nodejs.org) >= v6.9.0
|
||||||
- [python](https://www.python.org/downloads/release/python-2713/) (v2.7.x recommended)
|
- [python](https://www.python.org/downloads/release/python-2713/) (v2.7.x recommended)
|
||||||
- [node-gyp](https://github.com/nodejs/node-gyp#installation) (installed via powershell)
|
- [node-gyp](https://github.com/nodejs/node-gyp#installation) (installed via PowerShell)
|
||||||
|
|
||||||
## System specific dependencies
|
## System specific dependencies
|
||||||
|
|
||||||
- use only 32bit or 64bit for all of the installers, do not mix architectures
|
- use only 32bit or 64bit for all of the installers, do not mix architectures
|
||||||
- install using default settings
|
- install using default settings
|
||||||
- open Windows Powershell as Admin
|
- open Windows PowerShell as Admin
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
C:\Windows\system32> npm install --global --production windows-build-tools
|
C:\Windows\system32> npm install --global --production windows-build-tools
|
||||||
|
@@ -17,7 +17,7 @@ module.exports = {
|
|||||||
// Returns a promise that resolves to an Electron Application once the app has loaded.
|
// Returns a promise that resolves to an Electron Application once the app has loaded.
|
||||||
function createApp() {
|
function createApp() {
|
||||||
return _electron.launch({
|
return _electron.launch({
|
||||||
args: [path.join(__dirname)], // Ensure this dir has a package.json file with a 'main' entry piont
|
args: [path.join(__dirname)], // Ensure this dir has a package.json file with a 'main' entry point
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user