Compare commits

...

80 Commits

Author SHA1 Message Date
David Baker
768e206c4a v0.15.6 2018-06-29 12:02:51 +01:00
David Baker
84fbee085d v0.15.6 2018-06-29 12:01:17 +01:00
David Baker
3126bf6561 Prepare changelog for v0.15.6 2018-06-29 12:00:28 +01:00
David Baker
e193b65bc7 Released js-sdk & react-sdk 2018-06-29 11:54:01 +01:00
David Baker
fb43e49954 v0.15.6-rc.2 2018-06-22 18:15:34 +01:00
David Baker
41575382ce Prepare changelog for v0.15.6-rc.2 2018-06-22 18:15:33 +01:00
David Baker
62653d39b3 v0.15.6-rc.2 2018-06-22 18:13:00 +01:00
David Baker
79cf34b72e react-sdk rc.2 2018-06-22 18:12:41 +01:00
David Baker
ee6fc5859c v0.15.6-rc.1 2018-06-21 10:20:26 +01:00
David Baker
f13bf59a82 Prepare changelog for v0.15.6-rc.1 2018-06-21 10:20:26 +01:00
David Baker
f9868b6100 v0.15.6-rc.1 2018-06-21 10:18:45 +01:00
David Baker
f9e7af6e90 js & react sdk rc.1 2018-06-21 10:09:01 +01:00
David Baker
9030435ba4 Merge pull request #6915 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-06-20 14:04:38 +01:00
Miguel Branco
47cfe7a877 Translated using Weblate (Galician)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2018-06-20 09:14:17 +00:00
Sandipan Banerjee
a182174fba Translated using Weblate (Bengali (India))
Currently translated at 2.7% (1 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bn_IN/
2018-06-20 09:14:16 +00:00
Paweł Kozioł
ef91fce621 Translated using Weblate (Polish)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2018-06-19 20:22:43 +00:00
Weblate
b805dbf4b9 Merge remote-tracking branch 'origin/develop' into develop 2018-06-14 11:04:54 +00:00
David Baker
3847388ed0 Merge pull request #6805 from vector-im/t3chguy/electron_changes
[electron] Fix desktop app --hidden flag
2018-06-14 12:04:48 +01:00
Weblate
d6ff9a0297 Merge remote-tracking branch 'origin/develop' into develop 2018-06-12 13:40:05 +00:00
Kenneth Larsson
9fa5f16ca0 Translated using Weblate (Swedish)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2018-06-12 13:40:04 +00:00
Yao Wei
5d7fb0e388 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2018-06-12 13:40:03 +00:00
David Baker
9dd37ac9e2 v0.15.5 2018-06-12 14:36:10 +01:00
David Baker
32c66e9d1a Prepare changelog for v0.15.5 2018-06-12 14:36:09 +01:00
David Baker
ef341d4333 v0.15.5 2018-06-12 14:33:22 +01:00
David Baker
79bc81317d Released react-sdk & js-sdk 2018-06-12 14:30:44 +01:00
David Baker
33a2e068f6 v0.15.5-rc.1 2018-06-06 16:11:58 +01:00
David Baker
9a3e98ac8f Prepare changelog for v0.15.5-rc.1 2018-06-06 16:11:57 +01:00
David Baker
e03248929d v0.15.5-rc.1 2018-06-06 16:09:22 +01:00
David Baker
1ed2935eb6 react-sdk & js-sdk rc.1 2018-06-06 16:08:47 +01:00
David Baker
50e35de609 Merge pull request #6846 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-06-06 15:51:26 +01:00
Kenneth Larsson
17180d31d7 Translated using Weblate (Swedish)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2018-06-06 14:41:12 +00:00
Iulian
65f101e7bb Translated using Weblate (Romanian)
Currently translated at 8.1% (3 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ro/
2018-06-06 14:41:11 +00:00
Sveinn í Felli
787252ef81 Translated using Weblate (Icelandic)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/is/
2018-05-28 08:46:13 +00:00
Joachim Nielandt
b80180df22 Translated using Weblate (Dutch)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2018-05-28 07:13:36 +00:00
Michael Telatynski
e0bb6183a6 remove debug log
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:37:04 +01:00
Michael Telatynski
20dd2c0b58 tidy code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:36:25 +01:00
Michael Telatynski
8a4a6b2023 refactor hidden logic to be more resilient against electron weirdness
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:21:38 +01:00
Michael Telatynski
ca2533cafa delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:00:45 +01:00
Iulian
fb7a8b7696 Added translation using Weblate (Romanian) 2018-05-26 03:41:22 +00:00
David Baker
a4b58f4d83 v0.15.4 2018-05-25 15:25:10 +01:00
David Baker
ddbac1ad9f Prepare changelog for v0.15.4 2018-05-25 15:25:09 +01:00
David Baker
07772ef5a2 v0.15.4 2018-05-25 15:23:18 +01:00
David Baker
57c79c7133 released react-sdk & js-sdk 2018-05-25 15:22:39 +01:00
David Baker
05e0e842d6 Add cookie policy URL to electron config 2018-05-25 10:00:44 +01:00
David Baker
93ea9d7c36 v0.15.4-rc.1 2018-05-24 18:28:44 +01:00
David Baker
b6fa68370b Prepare changelog for v0.15.4-rc.1 2018-05-24 18:28:44 +01:00
David Baker
bd3eedbda9 v0.15.4-rc.1 2018-05-24 18:27:06 +01:00
David Baker
581c95d093 Temporarily revert electron version bump 2018-05-24 18:26:43 +01:00
David Baker
cd9821f87e Merge branch 'develop' into release-v0.15.4 2018-05-24 18:26:02 +01:00
David Baker
10881587e9 electron 2.0.2 2018-05-24 18:25:35 +01:00
David Baker
5f6b60370d v0.15.4-rc.1 2018-05-24 18:24:59 +01:00
David Baker
1bfe4513ac js-sdk & react-sdk RCs 2018-05-24 18:24:20 +01:00
David Baker
b97ae0246d Merge pull request #6792 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-05-24 18:04:46 +01:00
Weblate
8bc0188c53 Merge remote-tracking branch 'origin/develop' into develop 2018-05-18 11:41:40 +00:00
David Baker
66ca9a355b Merge branch 'master' into develop 2018-05-18 12:41:30 +01:00
David Baker
ec62b5f03c v0.15.3 2018-05-18 12:38:59 +01:00
David Baker
3467ca5230 Prepare changelog for v0.15.3 2018-05-18 12:38:58 +01:00
David Baker
d5b21021fb v0.15.3 2018-05-18 12:36:22 +01:00
David Baker
4656d25590 Hide URL options for e2e blob: URL images
These won't work outside of the electron app so there is zero point
in trying to open them in an external browser or offerring to copy
them to the clipboard
2018-05-18 12:24:22 +01:00
David Baker
b1f0f33204 Update to electron 2.0.1
It does have a security fix
2018-05-18 12:24:12 +01:00
David Baker
d353c13bf1 Comment why we're passing empty objects in 2018-05-18 12:24:02 +01:00
David Baker
8872a6a24a Fix right click menu in electron
Fixes https://github.com/vector-im/riot-web/issues/6762
2018-05-18 12:23:56 +01:00
Weblate
8b0de948d0 Merge remote-tracking branch 'origin/develop' into develop 2018-05-18 11:18:14 +00:00
David Baker
2e7da36af0 Merge pull request #6765 from vector-im/dbkr/electron_hide_nonsensical_menu_options
Hide URL options for e2e blob: URL images
2018-05-18 12:18:09 +01:00
David Baker
38c295427a Hide URL options for e2e blob: URL images
These won't work outside of the electron app so there is zero point
in trying to open them in an external browser or offerring to copy
them to the clipboard
2018-05-18 12:00:55 +01:00
Weblate
2025cc7747 Merge remote-tracking branch 'origin/develop' into develop 2018-05-18 10:55:45 +00:00
David Baker
e5fd579935 Merge pull request #6763 from vector-im/dbkr/fix_electron_menus
Fix right click menu in electron
2018-05-18 11:55:41 +01:00
Weblate
3bd97650dc Merge remote-tracking branch 'origin/develop' into develop 2018-05-18 10:47:08 +00:00
David Baker
1e8bb5e852 Merge pull request #6764 from vector-im/dbkr/electron_201
Update to electron 2.0.1
2018-05-18 11:47:02 +01:00
David Baker
6722eedf7a Comment why we're passing empty objects in 2018-05-18 11:42:40 +01:00
David Baker
53dfdbda08 Update to electron 2.0.1
It does have a security fix
2018-05-18 11:32:59 +01:00
David Baker
e857ab762c Fix right click menu in electron
Fixes https://github.com/vector-im/riot-web/issues/6762
2018-05-18 11:30:05 +01:00
Simone Salsi
14f5d2a489 Translated using Weblate (Italian)
Currently translated at 100.0% (37 of 37 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2018-05-18 10:17:13 +00:00
David Baker
07456ee174 Merge branch 'master' into develop 2018-05-17 17:13:08 +01:00
David Baker
6bfc90bbe1 Merge pull request #6528 from aidalgol/string-translation-change-doc
Add instructions for changing translated strings
2018-05-16 16:51:56 +01:00
Aidan Gauland
95b09cde60 Reorder sections in translating documentation
Move "Editing existing strings" to after "Adding new strings".
2018-04-29 14:08:57 +12:00
Aidan Gauland
c26cde2f6f Correct npm command name in documentation
The `npm run` command `i18n-prune` is actually `prunei18n`.
2018-04-29 14:08:03 +12:00
Aidan Gauland
a8e578f5b8 Move and reword note about out-of-date dev setup
Replace an inline, parenthetical note about possible failures of the `npm run`
scripts with additional items in the Requirements section.
2018-04-21 21:52:56 +12:00
Aidan Gauland
6d74d5f8b7 Correct instructions to use the i18n scripts
As per code review feedback, we should use the npm run scripts i18n and
i18n-prune instead of editing the i18n JSON files directly.
2018-04-21 21:46:37 +12:00
Aidan Gauland
69bb020e5c Add instructions for changing translated strings
Add instructions to the developer documentation for proper housekeeping of the
translations when editing strings.
2018-04-15 22:42:58 +12:00
17 changed files with 212 additions and 96 deletions

View File

@@ -1,3 +1,69 @@
Changes in [0.15.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.6) (2018-06-29)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.2...v0.15.6)
* Pull in bug fixes from react-sdk
Changes in [0.15.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.2) (2018-06-22)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.1...v0.15.6-rc.2)
* Update to react-sdk rc.2 for fix to slash commands
Changes in [0.15.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.1) (2018-06-21)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5...v0.15.6-rc.1)
* Update from Weblate.
[\#6915](https://github.com/vector-im/riot-web/pull/6915)
* [electron] Fix desktop app --hidden flag
[\#6805](https://github.com/vector-im/riot-web/pull/6805)
Changes in [0.15.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.5) (2018-06-12)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5-rc.1...v0.15.5)
* No changes since rc.1
Changes in [0.15.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.5-rc.1) (2018-06-06)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4...v0.15.5-rc.1)
* Update from Weblate.
[\#6846](https://github.com/vector-im/riot-web/pull/6846)
Changes in [0.15.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.4) (2018-05-25)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4-rc.1...v0.15.4)
* Add cookie policy link to desktop app config
Changes in [0.15.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.4-rc.1) (2018-05-24)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.3...v0.15.4-rc.1)
* Update from Weblate.
[\#6792](https://github.com/vector-im/riot-web/pull/6792)
* Hide URL options for e2e blob: URL images
[\#6765](https://github.com/vector-im/riot-web/pull/6765)
* Fix right click menu in electron
[\#6763](https://github.com/vector-im/riot-web/pull/6763)
* Update to electron 2.0.1
[\#6764](https://github.com/vector-im/riot-web/pull/6764)
* Add instructions for changing translated strings
[\#6528](https://github.com/vector-im/riot-web/pull/6528)
Changes in [0.15.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.3) (2018-05-18)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.2...v0.15.3)
* Fix right click menu in electron
[\#6763](https://github.com/vector-im/riot-web/pull/6763)
* Update to electron 2.0.1
[\#6764](https://github.com/vector-im/riot-web/pull/6764)
* Hide URL options for e2e blob: URL images
[\#6765](https://github.com/vector-im/riot-web/pull/6765)
Changes in [0.15.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.2) (2018-05-17)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.1...v0.15.2)

View File

@@ -3,6 +3,8 @@
## Requirements
- A working [Development Setup](../../#setting-up-a-dev-environment)
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
- Node 8 or later
- Be able to understand English
- Be able to understand the language you want to translate riot-web into
@@ -30,9 +32,15 @@ function getColorName(hex) {
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json`` (if it fails because it can't find the script, your dev environment predates the script, so reinstall/link react-sdk with `npm link ../matrix-react-sdk`). If it segfaults, you may be on Node 6, so try a newer version of node.
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json``
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
## Editing existing strings
1. Edit every occurrence of the string inside `_t()` and `_td()` in the JSX files.
1. Run `npm run i18n` to update `src/i18n/strings/en_EN.json`. (Be sure to run this in the same project as the JSX files you just edited.)
1. Run `npm run prunei18n` to remove the old string from `src/i18n/strings/*.json`.
## Adding variables inside a string.
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.15.2",
"version": "0.15.6",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"dependencies": {

View File

@@ -18,7 +18,8 @@
},
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1
"siteId": 1,
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
},
"enable_presence_by_hs_url": {
"https://matrix.org": false

View File

@@ -23,7 +23,7 @@ const checkSquirrelHooks = require('./squirrelhooks');
if (checkSquirrelHooks()) return;
const argv = require('minimist')(process.argv);
const electron = require('electron');
const {app, ipcMain, powerSaveBlocker, BrowserWindow, Menu} = require('electron');
const AutoLaunch = require('auto-launch');
const tray = require('./tray');
@@ -33,8 +33,8 @@ const updater = require('./updater');
const windowStateKeeper = require('electron-window-state');
if (argv.profile) {
electron.app.setPath('userData', `${electron.app.getPath('userData')}-${argv.profile}`);
if (argv['profile']) {
app.setPath('userData', `${app.getPath('userData')}-${argv['profile']}`);
}
let vectorConfig = {};
@@ -62,14 +62,14 @@ process.on('uncaughtException', function(error) {
});
let focusHandlerAttached = false;
electron.ipcMain.on('setBadgeCount', function(ev, count) {
electron.app.setBadgeCount(count);
if (count === 0) {
ipcMain.on('setBadgeCount', function(ev, count) {
app.setBadgeCount(count);
if (count === 0 && mainWindow) {
mainWindow.flashFrame(false);
}
});
electron.ipcMain.on('loudNotification', function() {
ipcMain.on('loudNotification', function() {
if (process.platform === 'win32' && mainWindow && !mainWindow.isFocused() && !focusHandlerAttached) {
mainWindow.flashFrame(true);
mainWindow.once('focus', () => {
@@ -81,16 +81,16 @@ electron.ipcMain.on('loudNotification', function() {
});
let powerSaveBlockerId;
electron.ipcMain.on('app_onAction', function(ev, payload) {
ipcMain.on('app_onAction', function(ev, payload) {
switch (payload.action) {
case 'call_state':
if (powerSaveBlockerId && electron.powerSaveBlocker.isStarted(powerSaveBlockerId)) {
if (powerSaveBlockerId && powerSaveBlocker.isStarted(powerSaveBlockerId)) {
if (payload.state === 'ended') {
electron.powerSaveBlocker.stop(powerSaveBlockerId);
powerSaveBlocker.stop(powerSaveBlockerId);
}
} else {
if (payload.state === 'connected') {
powerSaveBlockerId = electron.powerSaveBlocker.start('prevent-display-sleep');
powerSaveBlockerId = powerSaveBlocker.start('prevent-display-sleep');
}
}
break;
@@ -98,9 +98,12 @@ electron.ipcMain.on('app_onAction', function(ev, payload) {
});
electron.app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
// If other instance launched with --hidden then skip showing window
if (commandLine.includes('--hidden')) return;
const shouldQuit = electron.app.makeSingleInstance((commandLine, workingDirectory) => {
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (!mainWindow.isVisible()) mainWindow.show();
@@ -111,7 +114,7 @@ const shouldQuit = electron.app.makeSingleInstance((commandLine, workingDirector
if (shouldQuit) {
console.log('Other instance detected: exiting');
electron.app.exit();
app.exit();
}
@@ -136,7 +139,7 @@ const settings = {
},
};
electron.ipcMain.on('settings_get', async function(ev) {
ipcMain.on('settings_get', async function(ev) {
const data = {};
try {
@@ -145,34 +148,37 @@ electron.ipcMain.on('settings_get', async function(ev) {
}));
ev.sender.send('settings', data);
} catch(e) { console.error(e); }
} catch (e) {
console.error(e);
}
});
electron.ipcMain.on('settings_set', function(ev, key, value) {
ipcMain.on('settings_set', function(ev, key, value) {
console.log(key, value);
if (settings[key] && settings[key].set) {
settings[key].set(value);
}
});
electron.app.on('ready', () => {
if (argv.devtools) {
app.on('ready', () => {
if (argv['devtools']) {
try {
const { default: installExtension, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
installExtension(REACT_DEVELOPER_TOOLS)
const { default: installExt, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
installExt(REACT_DEVELOPER_TOOLS)
.then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err));
installExtension(REACT_PERF)
installExt(REACT_PERF)
.then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err));
} catch(e) {console.log(e);}
} catch (e) {
console.log(e);
}
}
if (vectorConfig.update_base_url) {
console.log(`Starting auto update with base URL: ${vectorConfig.update_base_url}`);
updater.start(vectorConfig.update_base_url);
if (vectorConfig['update_base_url']) {
console.log(`Starting auto update with base URL: ${vectorConfig['update_base_url']}`);
updater.start(vectorConfig['update_base_url']);
} else {
console.log('No update_base_url is defined: auto update is disabled');
}
@@ -185,7 +191,7 @@ electron.app.on('ready', () => {
defaultHeight: 768,
});
mainWindow = global.mainWindow = new electron.BrowserWindow({
mainWindow = global.mainWindow = new BrowserWindow({
icon: iconPath,
show: false,
autoHideMenuBar: true,
@@ -196,7 +202,7 @@ electron.app.on('ready', () => {
height: mainWindowState.height,
});
mainWindow.loadURL(`file://${__dirname}/../../webapp/index.html`);
electron.Menu.setApplicationMenu(vectorMenu);
Menu.setApplicationMenu(vectorMenu);
// explicitly hide because setApplicationMenu on Linux otherwise shows...
// https://github.com/electron/electron/issues/9621
@@ -208,11 +214,16 @@ electron.app.on('ready', () => {
brand: vectorConfig.brand || 'Riot',
});
if (!argv.hidden) {
mainWindow.once('ready-to-show', () => {
mainWindow.once('ready-to-show', () => {
mainWindowState.manage(mainWindow);
if (!argv['hidden']) {
mainWindow.show();
});
}
} else {
// hide here explicitly because window manage above sometimes shows it
mainWindow.hide();
}
});
mainWindow.on('closed', () => {
mainWindow = global.mainWindow = null;
@@ -240,18 +251,17 @@ electron.app.on('ready', () => {
}
webContentsHandler(mainWindow.webContents);
mainWindowState.manage(mainWindow);
});
electron.app.on('window-all-closed', () => {
electron.app.quit();
app.on('window-all-closed', () => {
app.quit();
});
electron.app.on('activate', () => {
app.on('activate', () => {
mainWindow.show();
});
electron.app.on('before-quit', () => {
app.on('before-quit', () => {
global.appQuitting = true;
if (mainWindow) {
mainWindow.webContents.send('before-quit');
@@ -262,4 +272,4 @@ electron.app.on('before-quit', () => {
// installer uses for the shortcut icon.
// This makes notifications work on windows 8.1 (and is
// a noop on other platforms).
electron.app.setAppUserModelId('com.squirrel.riot-web.Riot');
app.setAppUserModelId('com.squirrel.riot-web.Riot');

View File

@@ -35,12 +35,15 @@ function onLinkContextMenu(ev, params) {
const url = params.linkURL || params.srcURL;
const popupMenu = new Menu();
popupMenu.append(new MenuItem({
label: url,
click() {
safeOpenURL(url);
},
}));
// No point trying to open blob: URLs in an external browser: it ain't gonna work.
if (!url.startsWith('blob:')) {
popupMenu.append(new MenuItem({
label: url,
click() {
safeOpenURL(url);
},
}));
}
if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) {
popupMenu.append(new MenuItem({
@@ -55,13 +58,17 @@ function onLinkContextMenu(ev, params) {
}));
}
popupMenu.append(new MenuItem({
label: 'Copy Link Address',
click() {
clipboard.writeText(url);
},
}));
popupMenu.popup();
// No point offerring to copy a blob: URL either
if (!url.startsWith('blob:')) {
popupMenu.append(new MenuItem({
label: 'Copy Link Address',
click() {
clipboard.writeText(url);
},
}));
}
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();
}
@@ -88,7 +95,8 @@ function onSelectedContextMenu(ev, params) {
const items = _CutCopyPasteSelectContextMenus(params);
const popupMenu = Menu.buildFromTemplate(items);
popupMenu.popup();
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();
}
@@ -101,7 +109,8 @@ function onEditableContextMenu(ev, params) {
const popupMenu = Menu.buildFromTemplate(items);
popupMenu.popup();
// popup() requires an options object even for no options
popupMenu.popup({});
ev.preventDefault();
}

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "riot-web",
"version": "0.12.2",
"version": "0.15.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "0.15.2",
"version": "0.15.6",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -64,8 +64,8 @@
"gemini-scrollbar": "matrix-org/gemini-scrollbar#b302279",
"gfm.css": "^1.1.1",
"highlight.js": "^9.0.0",
"matrix-js-sdk": "0.10.2",
"matrix-react-sdk": "0.12.5",
"matrix-js-sdk": "0.10.5",
"matrix-react-sdk": "0.12.8",
"modernizr": "^3.1.0",
"prop-types": "^15.5.10",
"react": "^15.6.0",
@@ -144,7 +144,7 @@
"build": {
"appId": "im.riot.app",
"category": "Network",
"electronVersion": "2.0.0",
"electronVersion": "2.0.2",
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
"asar": false,
"dereference": true,

View File

@@ -1 +1,3 @@
{}
{
"Riot is not supported on mobile web. Install the app?": "মোবাইল ওয়েব রায়ট সমর্থন করে না. অ্য়াপ টি ইনস্টল করতে চান?"
}

View File

@@ -4,36 +4,36 @@
"Dismiss": "Rexeitar",
"powered by Matrix": "funciona grazas a Matrix",
"Riot Desktop on %(platformName)s": "Riot Desktop en %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot no se pode executar na web móbil. Instalar a app?",
"Riot is not supported on mobile web. Install the app?": "Riot non se pode executar na web do móbil. Instalar a aplicación?",
"Unknown device": "Dispositivo descoñecido",
"You need to be using HTTPS to place a screen-sharing call.": "Precisa utilizar HTTPS para establecer unha chamada de pantalla compartida.",
"Welcome to Riot.im": "Benvida a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat &amp; colaboración descentralizados e cifrados grazas a [matrix]",
"Welcome to Riot.im": "Benvida/o a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversas e colaboración descentralizada e cifrada grazas a [matrix]",
"Search the room directory": "Buscar no directorio de salas",
"Chat with Riot Bot": "Chat co Bot de Riot",
"Get started with some tips from Riot Bot!": "Iníciese con algúns consellos do Bot de Riot!",
"Chat with Riot Bot": "Conversa co bot de Riot",
"Get started with some tips from Riot Bot!": "Iníciese con algúns consellos do bot de Riot!",
"General discussion about Matrix and Riot": "Discusión xeral sobre Matrix e Riot",
"Discussion of all things Matrix!": "Conversa sobre to o relativo a Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; chat de Escritorio",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; chat matrix-ios-sdk",
"Discussion of all things Matrix!": "Conversa sobre todo o relativo a Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; sala de conversas para escritorio",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; sala de conversas matrix-ios-sdk",
"Matrix technical discussions": "Discusións técnicas sobre Matrix",
"Running Matrix services": "Servizos correndo sobre Matrix",
"Running Matrix services": "Servizos que empregan Matrix",
"Community-run support for Synapse": "Axuda da comunidade para Synapse",
"Admin support for Dendrite": "Axuda administrador para Dendrite",
"Admin support for Dendrite": "Axuda de administrador para Dendrite",
"Announcements about Synapse releases": "Anuncios sobre lanzamentos de Synapse",
"Support for those using and running matrix-appservice-irc": "Axuda para quen usa matrix-appservice-irc",
"Building services on Matrix": "Deseñando servizos sobre Matrix",
"Support for those using the Matrix spec": "Axuda para quen usa a especificación Matrix",
"Support for those using the Matrix spec": "Axuda para quen usa a especificación de Matrix",
"Design and implementation of E2E in Matrix": "Deseño e implementación de E2E en Matrix",
"Implementing VR services with Matrix": "Implementando servizos de RV con Matrix",
"Implementing VoIP services with Matrix": "Implementación de servizos VoIP con Matrix",
"Discussion of the Identity Service API": "Conversa sobre a Identity Service API",
"Support for those using, running and writing other bridges": "Axuda para que utiliza, executa e desenvolve outras pontes",
"Contributing code to Matrix and Riot": "Contribuíndo ao código en Matrix e Riot",
"Dev chat for the Riot/Web dev team": "Chat para o equipo de desenvolvemento do Riot/Web",
"Dev chat for the Dendrite dev team": "Chat para o equipo de desenvolvemento de Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Xa existen multitude de salas en Matrix, ligadas a redes existentes (Slack, IRC, Gitter etc) ou independentes. Busque no directorio!",
"Riot/Android &amp; matrix-android-sdk chat": "Chat para Riot/Android &amp; matrix-android-sdk",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vostede pode utilizar as opcións de servidor personalizado para conectarse a outros servidores Matrix indicando o enderezo URL do Servidor.</br>Esto permítelle utilizar Riot con unha conta Matrix existente en outro servidor.<br/><br/>Tamén pode indicar un servidor de identidade pero non poderá convidar a usarias polo seu enderezo de correo electrónico, o ser convidada vostede por correo electrónico.",
"Co-ordination for Riot translators": "Coordinación para tradutoras de Riot"
"Discussion of the Identity Service API": "Conversa sobre a API do servizo de identificación",
"Support for those using, running and writing other bridges": "Axuda para quen está a utilizar, executar ou desenvolver outras pontes",
"Contributing code to Matrix and Riot": "Contribuíndo ao código de Matrix e Riot",
"Dev chat for the Riot/Web dev team": "Sala de conversa para o equipo de desenvolvemento de Riot/Web",
"Dev chat for the Dendrite dev team": "Sala de conversas para o equipo de desenvolvemento de Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Xa existen multitude de salas en Matrix ben ligadas a redes existentes (Slack, IRC, Gitter etc) ou ben independentes. Busque no directorio!",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; sala de conversas matrix-android-sdk",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Pode utilizar as opcións persoais de servidor para conectarse a outros servidores Matrix indicando o enderezo URL dese servidor.</br>Isto permítelle utilizar Riot cunha conta Matrix existente en outro servidor.<br/><br/>Tamén pode empregar un servidor personalizado de identidade mais nese caso nin se poderán convidar a outros usuarios empregando os correo electrónicos nin tampouco eles o poderán convidar a vostede por correo.",
"Co-ordination for Riot translators": "Coordinación para tradutora/es de Riot"
}

View File

@@ -23,5 +23,17 @@
"Co-ordination for Riot translators": "Yfirlit fyrir þýðendur Riot",
"Search the room directory": "Leita í herbergisskránni",
"Building services on Matrix": "Að byggja þjónustur á Matrix",
"Design and implementation of E2E in Matrix": "Hönnun og framkvæmd E2E í Matrix"
"Design and implementation of E2E in Matrix": "Hönnun og framkvæmd E2E í Matrix",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Þú getur notað sérsniðna valkosti til að skrá inn á aðra Matrix-vefþjóna með því að tilgreina aðra slóð á Heimavefþjón.<br/>Þetta gerir þér kleift að nota Riot með fyrirliggjandi Matrix notandaaðgangi á öðrum heimaþjóni.<br/><br/>Þú getur líka stillt sérsniðinn auðkenningarþjón, en þá getur þú ekki boðið notendum eftir tölvupóstfangi eða sjálfur fengið boð með tölvupósti.",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dulritað dreifvinnsluspjall &amp; samstarfstól keyrt með [matrix]",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Margar spjallrásir eru til í Matrix, tengdar við fyrirliggjandi netkerfi (Slack, IRC, Gitter, o.s.frv.) eða óháð. Skoðaðu skráninguna!",
"Community-run support for Synapse": "Aðstoð frá samfélaginu fyrir Synapse",
"Admin support for Dendrite": "Kerfisstjórnarstuðningur fyrir Dendrite",
"Announcements about Synapse releases": "Tilkynningar um Synapse útgáfur",
"Support for those using and running matrix-appservice-irc": "Stuðningur við þá sem nota og keyra matrix-appservice-irc",
"Support for those using the Matrix spec": "Stuðningur við þá sem nota tæknilega Matrix eiginleika",
"Discussion of the Identity Service API": "Umræða um Identity Service API-kerfisviðmót",
"Support for those using, running and writing other bridges": "Stuðningur við þá sem nota, keyra og skrifa aðrar brýr",
"Dev chat for the Riot/Web dev team": "Forritaraspjall fyrir Riot/vefþróunarhópinn",
"Dev chat for the Dendrite dev team": "Forritaraspjall fyrir Dendrite þróunarhópinn"
}

View File

@@ -34,5 +34,6 @@
"Dev chat for the Riot/Web dev team": "Chat per gli sviluppatori di Riot/Web",
"Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti già esistenti (Slack, IRC, Gitter ecc) o indipendenti. Dai un'occhiata all'elenco!",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.<br/> Questo permette di usare Matrix con un account esistente su un home server diverso.<br/><br/>È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail."
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.<br/> Questo permette di usare Matrix con un account esistente su un home server diverso.<br/><br/>È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.",
"Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot"
}

View File

@@ -34,5 +34,6 @@
"Support for those using, running and writing other bridges": "Ondersteuning voor het gebruiken, draaien en ontwikkelen aan andere bruggen",
"Dev chat for the Riot/Web dev team": "Dev-chat voor het Riot/Web ontwikkelteam",
"Dev chat for the Dendrite dev team": "Dev-chat voor het Dendrite-ontwikkelteam",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Je kan de custom server opties gebruiken om op andere Matrix server in te loggen door een andere Home server URL op te geven.<br/> Dit laat je toe om Riot te gebruiken met een bestaande Matrix account op een andere home server.<br/><br/>Je kan ook een custom identiteits-server opzetten maar dan kan je geen gebruikers uitnodigen via hun email adres, of zelf uitgenodigd worden via je email adres."
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Je kan de custom server opties gebruiken om op andere Matrix server in te loggen door een andere Home server URL op te geven.<br/> Dit laat je toe om Riot te gebruiken met een bestaande Matrix account op een andere home server.<br/><br/>Je kan ook een custom identiteits-server opzetten maar dan kan je geen gebruikers uitnodigen via hun email adres, of zelf uitgenodigd worden via je email adres.",
"Co-ordination for Riot translators": "Coördinatie voor Riot vertalers"
}

View File

@@ -34,5 +34,6 @@
"Dev chat for the Riot/Web dev team": "Czat deweloperów zespołu Riot/Web",
"Dev chat for the Dendrite dev team": "Czat deweloperów zespołu Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix ma wiele, już działających pokoi, połączonych z istniejącymi sieciami, takimi jak Slack, IRC lub Gitter, a także wiele zupełnie niezależnych. Możesz przejrzeć je wszystkie w spisie pokoi!",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Możesz skorzystać z opcji dedykowanego serwera, aby zalogować się na inne serwery Matrix, podając inny adres URL serwera Domowego.<br/>Pozwala to na używanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Możesz również ustawić dedykowany serwer tożsamości, ale nie będziesz w stanie zapraszać użytkowników przez adres email, lub otrzymywać zaproszeń na adres email."
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Możesz skorzystać z opcji niestandardowego serwera, aby zalogować się na inne serwery Matrix, podając inny adres URL serwera domowego.<br/>Pozwala to na używanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Możesz również ustawić niestandardowy serwer tożsamości, ale nie będziesz w stanie zapraszać użytkowników przez adres e-mail ani otrzymywać zaproszeń na adres e-mail.",
"Co-ordination for Riot translators": "Koordynacja tłumaczy Riot"
}

5
src/i18n/strings/ro.json Normal file
View File

@@ -0,0 +1,5 @@
{
"Riot is not supported on mobile web. Install the app?": "Riot nu functionează pe mobil. Instalezi aplicaţia?",
"Riot Desktop on %(platformName)s": "Riot Desktop pe %(platformName)s",
"Unknown device": "Device necunoscut"
}

View File

@@ -1,12 +1,12 @@
{
"Custom Server Options": "Egna serverinställningar",
"Custom Server Options": "Anpassade serverinställningar",
"Dismiss": "Avvisa",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s på %(osName)s",
"powered by Matrix": "drivs av Matrix",
"Riot Desktop on %(platformName)s": "Riot Desktop på %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot stöds inte på mobil-webb. Installera appen?",
"Unknown device": "Okänd enhet",
"You need to be using HTTPS to place a screen-sharing call.": "Du måste använda HTTPS för att dela din skärm.",
"You need to be using HTTPS to place a screen-sharing call.": "Du måste använda HTTPS för att ringa med skärmdelning.",
"Welcome to Riot.im": "Välkommen till Riot.im",
"Chat with Riot Bot": "Chatta med Riot Bot",
"Get started with some tips from Riot Bot!": "Kom igång med några tips från Riot Bot!",
@@ -27,7 +27,7 @@
"Dev chat for the Riot/Web dev team": "Chatt för utvecklare av Riot/Web",
"Dev chat for the Dendrite dev team": "Chatt för utvecklare av Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Många rum finns redan i Matrix, länkade till andra nätverk (Slack, IRC, Gitter etc.) eller fristående. Kolla in katalogen!",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentraliserad, krypterad chatt &amp; samarbete möjliggjort med [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentraliserad, krypterad chatt &amp; samarbetsplattform möjliggjort med [matrix]",
"Search the room directory": "Sök i rumskatalogen",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop-chatt",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk-chatt",

View File

@@ -1,14 +1,14 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s 透過 %(browserName)s %(osName)s",
"%(appName)s via %(browserName)s on %(osName)s": "在 %(osName)s %(browserName)s 上的 %(appName)s",
"Custom Server Options": "自訂伺服器選項",
"Dismiss": "無視",
"powered by Matrix": "由 Matrix 架設",
"Dismiss": "關閉",
"powered by Matrix": "由 Matrix 提供",
"Unknown device": "未知裝置",
"You need to be using HTTPS to place a screen-sharing call.": "你需要使用 HTTPS 來放置螢幕分享的通話。",
"Riot Desktop on %(platformName)s": "Riot 桌面版在 %(platformName)s",
"You need to be using HTTPS to place a screen-sharing call.": "你需要使用 HTTPS 來撥打螢幕分享的通話。",
"Riot Desktop on %(platformName)s": "%(platformName)s 的 Riot 桌面版",
"Riot is not supported on mobile web. Install the app?": "Riot 不支援行動版網頁,要安裝應用程式嗎?",
"Welcome to Riot.im": "歡迎來到 Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、保密的聊天與協作,由 [matrix] 出品",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、保密的聊天與協作,由 [matrix] 提供",
"Search the room directory": "搜尋聊天室目錄",
"Chat with Riot Bot": "與 Riot 機器人聊天",
"Get started with some tips from Riot Bot!": "從 Riot 機器人了解使用 Riot 的訣竅吧!",