commit
2aec40d9be
|
@ -76,7 +76,7 @@ Test coding style:
|
|||
$ npm run lint:js
|
||||
```
|
||||
|
||||
### Helper commmands
|
||||
### Helper commands
|
||||
|
||||
#### `npm run watch`
|
||||
Reload the application automatically when you have saved source codes.
|
||||
|
|
|
@ -61,7 +61,7 @@ Pre-work for the current release begins at the code complete date of the previou
|
|||
- Post links to final tickets for next RC to the Desktop App channel
|
||||
- Submit PRs for hotfixes against the release branch, and review, test and merge prior to next RC
|
||||
4. Build:
|
||||
- Push next RC to acceptance and announce in Destkop App channel with new RC link
|
||||
- Push next RC to acceptance and announce in Desktop App channel with new RC link
|
||||
5. PM:
|
||||
- Test the new RC to verify fixes merged to the release branch work and post in Desktop App channel after testing
|
||||
- Update the meta issue with download links to the new RCs and a list of approved fixes
|
||||
|
@ -152,4 +152,4 @@ If a bug fix release is required, run through the following steps:
|
|||
- Post and review [Mattermost Security Updates](https://about.mattermost.com/security-updates/) for the Desktop App
|
||||
- Update Security Issues spreadsheet with issue number from posted update (e.g. v3.2.0.1)
|
||||
- Confirm the Security Researchers list on the [Responsible Disclosure Policy](https://www.mattermost.org/responsible-disclosure-policy/) is up to date
|
||||
- Review community installers for the Desktop App and update version numbers if there are any discrepencies https://www.mattermost.org/installation/
|
||||
- Review community installers for the Desktop App and update version numbers if there are any discrepancies https://www.mattermost.org/installation/
|
||||
|
|
|
@ -105,7 +105,7 @@ The Mattermost desktop application offers:
|
|||
- Icon notifications from Windows Task Bar
|
||||
- Desktop notifications
|
||||
|
||||
See the Mattermost [help documention](http://docs.mattermost.com/help/getting-started/signing-in.html) for how to use the Mattermost team site.
|
||||
See the Mattermost [help documentation](http://docs.mattermost.com/help/getting-started/signing-in.html) for how to use the Mattermost team site.
|
||||
|
||||
|
||||
## Settings Page
|
||||
|
@ -121,7 +121,7 @@ The Settings Page is available from the **File** menu under **Settings** (Click
|
|||
- **Hide Menu Bar** (Windows, Linux)
|
||||
- This option hides the menu bar. Press "Alt" to show it.
|
||||
- **Show Icon on Menu Bar** (OS X)
|
||||
- The icon apeears on menu bar to indicate whether there are new messages or mention.
|
||||
- The icon appears on menu bar to indicate whether there are new messages or mention.
|
||||
- **Allow insecure contents**
|
||||
- If your team is hosted on `https://`, images with `http://` are not rendered by default.
|
||||
This option allows such images to be rendered, but please be careful for security.
|
||||
|
@ -180,7 +180,7 @@ Below lists menu options (shortcut keys are listed in brackets, `Ctrl` becomes `
|
|||
|
||||
Mattermost lets users configure [desktop notifications](http://docs.mattermost.com/help/getting-started/configuring-notifications.html#desktop-notifications) to alert users to new events in a team site.
|
||||
|
||||
For the Mattermost Windows application, these appear as ballon notifications from the task bar on Windows 7 and Windows 8.1, and as a "toast" pop-up on Windows 10.
|
||||
For the Mattermost Windows application, these appear as balloon notifications from the task bar on Windows 7 and Windows 8.1, and as a "toast" pop-up on Windows 10.
|
||||
|
||||
|
||||
## Start Menu and Task Bar shortcuts (Windows)
|
||||
|
|
|
@ -77,7 +77,7 @@ export default class MainPage extends React.Component {
|
|||
});
|
||||
});
|
||||
|
||||
// can't switch tabs sequencially for some reason...
|
||||
// can't switch tabs sequentially for some reason...
|
||||
ipcRenderer.on('switch-tab', (event, key) => {
|
||||
this.handleSelect(key);
|
||||
});
|
||||
|
|
|
@ -85,7 +85,7 @@ export default class MattermostView extends React.Component {
|
|||
}
|
||||
});
|
||||
|
||||
// Open link in browserWindow. for exmaple, attached files.
|
||||
// Open link in browserWindow. for example, attached files.
|
||||
webview.addEventListener('new-window', (e) => {
|
||||
const currentURL = url.parse(webview.getURL());
|
||||
const destURL = url.parse(e.url);
|
||||
|
@ -98,7 +98,7 @@ export default class MattermostView extends React.Component {
|
|||
if (destURL.path.match(/^\/api\/v[3-4]\/public\/files\//)) {
|
||||
ipcRenderer.send('download-url', e.url);
|
||||
} else {
|
||||
// New window should disable nodeIntergration.
|
||||
// New window should disable nodeIntegration.
|
||||
window.open(e.url, remote.app.getName(), 'nodeIntegration=no, show=yes');
|
||||
}
|
||||
} else {
|
||||
|
@ -119,7 +119,7 @@ export default class MattermostView extends React.Component {
|
|||
if (this.props.onSelectSpellCheckerLocale) {
|
||||
this.props.onSelectSpellCheckerLocale(locale);
|
||||
}
|
||||
webview.send('set-spellcheker');
|
||||
webview.send('set-spellchecker');
|
||||
},
|
||||
});
|
||||
this.setState({isContextMenuAdded: true});
|
||||
|
|
|
@ -141,7 +141,7 @@ function getUnreadCount() {
|
|||
const activeChannel = document.querySelector('.active .sidebar-channel');
|
||||
const closeButton = activeChannel.getElementsByClassName('btn-close');
|
||||
if (closeButton.length === 1 && closeButton[0].getAttribute('aria-describedby') === 'remove-dm-tooltip') {
|
||||
// If active channel is DM, all posts is treated as menion.
|
||||
// If active channel is DM, all posts is treated as mention.
|
||||
isMentioned = true;
|
||||
break;
|
||||
} else {
|
||||
|
@ -192,7 +192,7 @@ function setSpellChecker() {
|
|||
resetMisspelledState();
|
||||
}
|
||||
setSpellChecker();
|
||||
ipcRenderer.on('set-spellcheker', setSpellChecker);
|
||||
ipcRenderer.on('set-spellchecker', setSpellChecker);
|
||||
|
||||
// mattermost-webapp is SPA. So cache is not cleared due to no navigation.
|
||||
// We needed to manually clear cache to free memory in long-term-use.
|
||||
|
|
|
@ -176,7 +176,7 @@ const trayImages = (() => {
|
|||
}
|
||||
})();
|
||||
|
||||
// If there is already an instance, activate the window in the existing instace and quit this one
|
||||
// If there is already an instance, activate the window in the existing instance and quit this one
|
||||
const gotTheLock = app.requestSingleInstanceLock();
|
||||
if (!gotTheLock) {
|
||||
app.exit();
|
||||
|
@ -333,7 +333,7 @@ app.on('certificate-error', (event, webContents, url, error, certificate, callba
|
|||
});
|
||||
|
||||
app.on('gpu-process-crashed', (event, killed) => {
|
||||
console.log(`The GPU process has crached (killed = ${killed})`);
|
||||
console.log(`The GPU process has crashed (killed = ${killed})`);
|
||||
});
|
||||
|
||||
const loginCallbackMap = new Map();
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('PermissionManager', function() {
|
|||
});
|
||||
});
|
||||
|
||||
it('should grant a permisson for an origin', function() {
|
||||
it('should grant a permission for an origin', function() {
|
||||
const ORIGIN = 'origin';
|
||||
const PERMISSION = 'permission';
|
||||
const manager = new PermissionManager(permissionFile);
|
||||
|
@ -33,7 +33,7 @@ describe('PermissionManager', function() {
|
|||
manager.isGranted(ORIGIN, PERMISSION + '_another').should.be.false;
|
||||
});
|
||||
|
||||
it('should deny a permisson for an origin', function() {
|
||||
it('should deny a permission for an origin', function() {
|
||||
const ORIGIN = 'origin';
|
||||
const PERMISSION = 'permission';
|
||||
const manager = new PermissionManager(permissionFile);
|
||||
|
@ -50,7 +50,7 @@ describe('PermissionManager', function() {
|
|||
manager.isDenied(ORIGIN, PERMISSION + '_another').should.be.false;
|
||||
});
|
||||
|
||||
it('should save permissons to the file', function() {
|
||||
it('should save permissions to the file', function() {
|
||||
const ORIGIN = 'origin';
|
||||
const PERMISSION = 'permission';
|
||||
const manager = new PermissionManager(permissionFile);
|
||||
|
|
Loading…
Reference in a new issue