mirror of
				https://github.com/vector-im/element-web.git
				synced 2025-10-27 06:12:00 +01:00 
			
		
		
		
	Move getDefaultDeviceName into the Platforms
So we can have a sensible device name on Electron
This commit is contained in:
		
							parent
							
								
									47534decb3
								
							
						
					
					
						commit
						c786980454
					
				| @ -54,7 +54,6 @@ var UpdateChecker = require("./updater"); | ||||
| var q = require('q'); | ||||
| var request = require('browser-request'); | ||||
| 
 | ||||
| import UAParser from 'ua-parser-js'; | ||||
| import url from 'url'; | ||||
| 
 | ||||
| import {parseQs, parseQsFromFragment} from './url_utils'; | ||||
| @ -144,19 +143,6 @@ var makeRegistrationUrl = function() { | ||||
|            '#/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); | ||||
| 
 | ||||
| function getConfig() { | ||||
| @ -262,7 +248,7 @@ async function loadApp() { | ||||
|                 startingFragmentQueryParams={fragparts.params} | ||||
|                 enableGuest={true} | ||||
|                 onLoadCompleted={onLoadCompleted} | ||||
|                 defaultDeviceDisplayName={getDefaultDeviceDisplayName()} | ||||
|                 defaultDeviceDisplayName={PlatformPeg.get().getDefaultDeviceDisplayName()} | ||||
|             />, | ||||
|             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 { | ||||
|     setNotificationCount(count: number) { | ||||
|         super.setNotificationCount(count); | ||||
| @ -101,4 +122,8 @@ export default class ElectronPlatform extends VectorBasePlatform { | ||||
|         // it should exit.
 | ||||
|         electron.ipcRenderer.send('install_update'); | ||||
|     } | ||||
| 
 | ||||
|     getDefaultDeviceDisplayName() { | ||||
|         return "Riot Desktop on " + platformFriendlyName(); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -39,4 +39,12 @@ export default class VectorBasePlatform extends BasePlatform { | ||||
|      */ | ||||
|     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 q from 'q'; | ||||
| 
 | ||||
| import url from 'url'; | ||||
| import UAParser from 'ua-parser-js'; | ||||
| 
 | ||||
| export default class WebPlatform extends VectorBasePlatform { | ||||
|     constructor() { | ||||
|         super(); | ||||
| @ -180,4 +183,16 @@ export default class WebPlatform extends VectorBasePlatform { | ||||
|     installUpdate() { | ||||
|         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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user