Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff

This commit is contained in:
Michael Telatynski 2017-06-11 23:13:49 +01:00
commit deb7ed660c
336 changed files with 2768 additions and 375 deletions

View file

@ -2,12 +2,13 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.10.0",
"version": "0.10.2",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"dependencies": {
"electron-window-state": "^4.1.0",
"auto-launch": "^5.0.1",
"minimist": "^1.2.0"
"electron-window-state": "^4.1.0",
"minimist": "^1.2.0",
"png-to-ico": "^1.0.2"
}
}

View file

@ -1,6 +1,7 @@
/*
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -155,6 +156,20 @@ electron.ipcMain.on('settings_set', function(ev, key, value) {
});
electron.app.on('ready', () => {
if (argv.devtools) {
try {
const { default: installExtension, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
installExtension(REACT_DEVELOPER_TOOLS)
.then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err));
installExtension(REACT_PERF)
.then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err));
} 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)

View file

@ -16,6 +16,9 @@ limitations under the License.
*/
const {app, Tray, Menu, nativeImage} = require('electron');
const pngToIco = require('png-to-ico');
const path = require('path');
const fs = require('fs');
let trayIcon = null;
@ -57,7 +60,7 @@ exports.create = function(win, config) {
trayIcon.on('click', toggleWin);
let lastFavicon = null;
win.webContents.on('page-favicon-updated', function(ev, favicons) {
win.webContents.on('page-favicon-updated', async function(ev, favicons) {
let newFavicon = config.icon_path;
if (favicons && favicons.length > 0 && favicons[0].startsWith('data:')) {
newFavicon = favicons[0];
@ -70,6 +73,15 @@ exports.create = function(win, config) {
// if its not default we have to construct into nativeImage
if (newFavicon !== config.icon_path) {
newFavicon = nativeImage.createFromDataURL(favicons[0]);
if (process.platform === 'win32') {
try {
const icoPath = path.join(app.getPath('temp'), 'win32_riot_icon.ico')
const icoBuf = await pngToIco(newFavicon.toPNG());
fs.writeFileSync(icoPath, icoBuf);
newFavicon = icoPath;
} catch (e) {console.error(e);}
}
}
trayIcon.setImage(newFavicon);