Move getDefaultDeviceName into the Platforms
So we can have a sensible device name on Electron
This commit is contained in:
parent
47534decb3
commit
c786980454
4 changed files with 49 additions and 15 deletions
|
@ -54,7 +54,6 @@ var UpdateChecker = require("./updater");
|
||||||
var q = require('q');
|
var q = require('q');
|
||||||
var request = require('browser-request');
|
var request = require('browser-request');
|
||||||
|
|
||||||
import UAParser from 'ua-parser-js';
|
|
||||||
import url from 'url';
|
import url from 'url';
|
||||||
|
|
||||||
import {parseQs, parseQsFromFragment} from './url_utils';
|
import {parseQs, parseQsFromFragment} from './url_utils';
|
||||||
|
@ -144,19 +143,6 @@ var makeRegistrationUrl = function() {
|
||||||
'#/register';
|
'#/register';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function getDefaultDeviceDisplayName() {
|
|
||||||
// strip query-string and fragment from uri
|
|
||||||
let u = url.parse(window.location.href);
|
|
||||||
u.search = "";
|
|
||||||
u.hash = "";
|
|
||||||
let app_name = u.format();
|
|
||||||
|
|
||||||
let ua = new UAParser();
|
|
||||||
return app_name + " via " + ua.getBrowser().name +
|
|
||||||
" on " + ua.getOS().name;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener('hashchange', onHashChange);
|
window.addEventListener('hashchange', onHashChange);
|
||||||
|
|
||||||
function getConfig() {
|
function getConfig() {
|
||||||
|
@ -262,7 +248,7 @@ async function loadApp() {
|
||||||
startingFragmentQueryParams={fragparts.params}
|
startingFragmentQueryParams={fragparts.params}
|
||||||
enableGuest={true}
|
enableGuest={true}
|
||||||
onLoadCompleted={onLoadCompleted}
|
onLoadCompleted={onLoadCompleted}
|
||||||
defaultDeviceDisplayName={getDefaultDeviceDisplayName()}
|
defaultDeviceDisplayName={PlatformPeg.get().getDefaultDeviceDisplayName()}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('matrixchat')
|
document.getElementById('matrixchat')
|
||||||
);
|
);
|
||||||
|
|
|
@ -35,6 +35,27 @@ function onUpdateDownloaded(ev, releaseNotes, ver, date, updateURL) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function platformFriendlyName() {
|
||||||
|
console.log(window.process);
|
||||||
|
switch (window.process.platform) {
|
||||||
|
case 'darwin':
|
||||||
|
return 'macOS';
|
||||||
|
case 'freebsd':
|
||||||
|
return 'FreeBSD';
|
||||||
|
case 'openbsd':
|
||||||
|
return 'OpenBSD';
|
||||||
|
case 'sunos':
|
||||||
|
return 'SunOS';
|
||||||
|
case 'win32':
|
||||||
|
return 'Windows';
|
||||||
|
default:
|
||||||
|
// Sorry, Linux users: you get lumped into here,
|
||||||
|
// but only because Linux's capitalisation is
|
||||||
|
// normal. We do care about you.
|
||||||
|
return window.process.platform[0].toUpperCase + window.process.platform.slice(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default class ElectronPlatform extends VectorBasePlatform {
|
export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
setNotificationCount(count: number) {
|
setNotificationCount(count: number) {
|
||||||
super.setNotificationCount(count);
|
super.setNotificationCount(count);
|
||||||
|
@ -101,4 +122,8 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
// it should exit.
|
// it should exit.
|
||||||
electron.ipcRenderer.send('install_update');
|
electron.ipcRenderer.send('install_update');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDefaultDeviceDisplayName() {
|
||||||
|
return "Riot Desktop on " + platformFriendlyName();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,4 +39,12 @@ export default class VectorBasePlatform extends BasePlatform {
|
||||||
*/
|
*/
|
||||||
installUpdate() {
|
installUpdate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a sensible default display name for the
|
||||||
|
* device Vector is running on
|
||||||
|
*/
|
||||||
|
getDefaultDeviceDisplayName() {
|
||||||
|
return "Unknown device";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,9 @@ import request from 'browser-request';
|
||||||
import dis from 'matrix-react-sdk/lib/dispatcher.js';
|
import dis from 'matrix-react-sdk/lib/dispatcher.js';
|
||||||
import q from 'q';
|
import q from 'q';
|
||||||
|
|
||||||
|
import url from 'url';
|
||||||
|
import UAParser from 'ua-parser-js';
|
||||||
|
|
||||||
export default class WebPlatform extends VectorBasePlatform {
|
export default class WebPlatform extends VectorBasePlatform {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
@ -180,4 +183,16 @@ export default class WebPlatform extends VectorBasePlatform {
|
||||||
installUpdate() {
|
installUpdate() {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDefaultDeviceDisplayName() {
|
||||||
|
// strip query-string and fragment from uri
|
||||||
|
let u = url.parse(window.location.href);
|
||||||
|
u.search = "";
|
||||||
|
u.hash = "";
|
||||||
|
let app_name = u.format();
|
||||||
|
|
||||||
|
let ua = new UAParser();
|
||||||
|
return app_name + " via " + ua.getBrowser().name +
|
||||||
|
" on " + ua.getOS().name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue