From 51959acf3ed9f9963b9ecb5879b29493308e979c Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Tue, 21 Nov 2017 11:53:55 +0100 Subject: Add service request to recipe dashboard --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/index.js') diff --git a/src/index.js b/src/index.js index efb3be737..1eff3f4f8 100644 --- a/src/index.js +++ b/src/index.js @@ -44,7 +44,7 @@ app.disableHardwareAcceleration(); // Initialize Settings const settings = new Settings(); -const createWindow = async () => { +const createWindow = () => { // Remember window size const mainWindowState = windowStateKeeper({ defaultWidth: 800, -- cgit v1.2.3-70-g09d2 From 25216210b1f86565bcc88f1805ddd58c6c4ceb29 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Tue, 21 Nov 2017 12:18:21 +0100 Subject: feat(App): Decrease minimum window size to 600px width Closes #239 --- src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/index.js') diff --git a/src/index.js b/src/index.js index efb3be737..a95b93c50 100644 --- a/src/index.js +++ b/src/index.js @@ -57,8 +57,8 @@ const createWindow = async () => { y: mainWindowState.y, width: mainWindowState.width, height: mainWindowState.height, - minWidth: 800, - minHeight: 600, + minWidth: 600, + minHeight: 400, titleBarStyle: 'hidden', backgroundColor: '#3498db', autoHideMenuBar: true, -- cgit v1.2.3-70-g09d2 From b4ea8dbf0d266d72c5cd9de2bbd6eb68534f6271 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Tue, 21 Nov 2017 22:01:52 +0100 Subject: fix merging issue --- src/components/services/content/ServiceWebview.js | 35 ++++++++++++----------- src/index.js | 2 +- 2 files changed, 19 insertions(+), 18 deletions(-) (limited to 'src/index.js') diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index abbf21dee..faa356d3d 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js @@ -85,29 +85,30 @@ export default class ServiceWebview extends Component { reload={reload} /> )} - {!service.isEnabled && ( + {!service.isEnabled ? ( + ) : ( + { this.webview = element; }} + autosize + src={service.url} + preload="./webview/plugin.js" + partition={`persist:service-${service.id}`} + onDidAttach={() => setWebviewReference({ + serviceId: service.id, + webview: this.webview.view, + })} + onUpdateTargetUrl={this.updateTargetUrl} + useragent={service.userAgent} + muted={isAppMuted || service.isMuted} + disablewebsecurity + allowpopups + /> )} - { this.webview = element; }} - autosize - src={service.url} - preload="./webview/plugin.js" - partition={`persist:service-${service.id}`} - onDidAttach={() => setWebviewReference({ - serviceId: service.id, - webview: this.webview.view, - })} - onUpdateTargetUrl={this.updateTargetUrl} - useragent={service.userAgent} - muted={isAppMuted || service.isMuted} - disablewebsecurity - allowpopups - /> {statusBar} ); diff --git a/src/index.js b/src/index.js index f4e906330..e21666086 100644 --- a/src/index.js +++ b/src/index.js @@ -58,7 +58,7 @@ const createWindow = () => { width: mainWindowState.width, height: mainWindowState.height, minWidth: 600, - minHeight: 400, + minHeight: 500, titleBarStyle: 'hidden', backgroundColor: '#3498db', autoHideMenuBar: true, -- cgit v1.2.3-70-g09d2 From 78be4551b67491a85e3a2312d34c6dfb35c4b9bc Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Wed, 22 Nov 2017 10:03:53 +0100 Subject: test tweetdeck glitches --- src/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/index.js') diff --git a/src/index.js b/src/index.js index e21666086..6a08e5e5a 100644 --- a/src/index.js +++ b/src/index.js @@ -39,7 +39,9 @@ if (isSecondInstance) { // Lets disable Hardware Acceleration until we have a better solution // to deal with the high-perf-gpu requirement of some services -app.disableHardwareAcceleration(); + +// Disabled to test tweetdeck glitches +// app.disableHardwareAcceleration(); // Initialize Settings const settings = new Settings(); -- cgit v1.2.3-70-g09d2 From 49cdd35696dcbe2a90c63dccc2d88db46e2aa8a9 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Tue, 5 Dec 2017 16:04:27 +0100 Subject: WIP: add deep linking --- electron-builder.yml | 4 ++++ package.json | 1 + src/electron/deepLinking.js | 5 +++++ src/index.js | 26 ++++++++++++++++++++++++-- src/stores/AppStore.js | 5 +++++ 5 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 src/electron/deepLinking.js (limited to 'src/index.js') diff --git a/electron-builder.yml b/electron-builder.yml index 03e59e462..96bd63cc2 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -34,3 +34,7 @@ linux: nsis: perMachine: false oneClick: true + +protocols: + name: Franz + schemes: [franz] diff --git a/package.json b/package.json index 8a5eee7b2..9c111d336 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", "copyright": "adlk x franz - Stefan Malzner", "main": "index.js", + "homepage": "https://meetfranz.com", "repository": "https://github.com/meetfranz/franz.git", "private": true, "scripts": { diff --git a/src/electron/deepLinking.js b/src/electron/deepLinking.js new file mode 100644 index 000000000..819fdd095 --- /dev/null +++ b/src/electron/deepLinking.js @@ -0,0 +1,5 @@ +export default function handleDeepLink(window, url) { + console.log(url); + + window.webContents.send('navigateFromDeepLink', { url }); +} diff --git a/src/index.js b/src/index.js index 6a08e5e5a..4b6241f13 100644 --- a/src/index.js +++ b/src/index.js @@ -8,6 +8,7 @@ import { isDevMode, isWindows } from './environment'; import ipcApi from './electron/ipc-api'; import Tray from './lib/Tray'; import Settings from './electron/Settings'; +import handleDeepLink from './electron/deepLinking'; import { appId } from './package.json'; // eslint-disable-line import/no-unresolved import './electron/exception'; @@ -26,10 +27,18 @@ if (isWindows) { } // Force single window -const isSecondInstance = app.makeSingleInstance(() => { +const isSecondInstance = app.makeSingleInstance((argv) => { if (mainWindow) { if (mainWindow.isMinimized()) mainWindow.restore(); mainWindow.focus(); + + if (process.platform === 'win32') { + // Keep only command line / deep linked arguments + const url = argv.slice(1); + + console.log(url); + handleDeepLink(mainWindow, url); + } } }); @@ -70,7 +79,8 @@ const createWindow = () => { const trayIcon = new Tray(); // Initialize ipcApi - ipcApi({ mainWindow, settings, trayIcon }); + const franzIpcApi = ipcApi({ mainWindow, settings, trayIcon }); + console.log(franzIpcApi); // Manage Window State mainWindowState.manage(mainWindow); @@ -176,3 +186,15 @@ app.on('activate', () => { mainWindow.show(); } }); + +app.on('will-finish-launching', () => { + // Protocol handler for osx + app.on('open-url', (event, url) => { + event.preventDefault(); + console.log(`open-url event: ${url}`); + handleDeepLink(mainWindow, url); + }); +}); + +// Register App URL +app.setAsDefaultProtocolClient('franz'); diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 17ec832cf..557c9f7f2 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js @@ -116,6 +116,11 @@ export default class AppStore extends Store { } }); + // Handle deep linking (franz://) + ipcRenderer.on('navigateFromDeepLink', (event, data) => { + console.log(event, data); + }); + // Check system idle time every minute setInterval(() => { this.idleTime = idleTimer.getIdleTime(); -- cgit v1.2.3-70-g09d2 From d081f252b89b56b758782bd84713f90f390cc4a9 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Tue, 5 Dec 2017 17:46:13 +0100 Subject: first working implementation of deep linking --- src/electron/deepLinking.js | 4 ++-- src/index.js | 2 ++ src/stores/AppStore.js | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/index.js') diff --git a/src/electron/deepLinking.js b/src/electron/deepLinking.js index 819fdd095..16e68b914 100644 --- a/src/electron/deepLinking.js +++ b/src/electron/deepLinking.js @@ -1,5 +1,5 @@ -export default function handleDeepLink(window, url) { - console.log(url); +export default function handleDeepLink(window, rawUrl) { + const url = rawUrl.replace('franz://', ''); window.webContents.send('navigateFromDeepLink', { url }); } diff --git a/src/index.js b/src/index.js index 4b6241f13..ef36a0dc9 100644 --- a/src/index.js +++ b/src/index.js @@ -147,6 +147,8 @@ const createWindow = () => { mainWindow.on('show', () => { mainWindow.setSkipTaskbar(false); + + handleDeepLink(mainWindow, 'franz://settings/services/add/msteams'); }); app.mainWindow = mainWindow; diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 557c9f7f2..3e6d4d288 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js @@ -118,7 +118,10 @@ export default class AppStore extends Store { // Handle deep linking (franz://) ipcRenderer.on('navigateFromDeepLink', (event, data) => { - console.log(event, data); + const { url } = data; + if (!url) return; + + this.stores.router.push(data.url); }); // Check system idle time every minute -- cgit v1.2.3-70-g09d2 From 27c2d0d2b9383e785db1ee1497189d6674d9cdac Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Thu, 7 Dec 2017 14:43:55 +0100 Subject: Convert url to string --- src/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/index.js') diff --git a/src/index.js b/src/index.js index ef36a0dc9..4253b681f 100644 --- a/src/index.js +++ b/src/index.js @@ -36,8 +36,10 @@ const isSecondInstance = app.makeSingleInstance((argv) => { // Keep only command line / deep linked arguments const url = argv.slice(1); - console.log(url); - handleDeepLink(mainWindow, url); + if (url) { + console.log(url.toString()); + handleDeepLink(mainWindow, url.toString()); + } } } }); -- cgit v1.2.3-70-g09d2 From 246132a791dae2f7235615d13937a20919c6cd49 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Thu, 14 Dec 2017 11:37:26 +0100 Subject: remove unecessary console logs --- src/index.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/index.js') diff --git a/src/index.js b/src/index.js index 4253b681f..76b1d8352 100644 --- a/src/index.js +++ b/src/index.js @@ -37,7 +37,6 @@ const isSecondInstance = app.makeSingleInstance((argv) => { const url = argv.slice(1); if (url) { - console.log(url.toString()); handleDeepLink(mainWindow, url.toString()); } } @@ -81,8 +80,7 @@ const createWindow = () => { const trayIcon = new Tray(); // Initialize ipcApi - const franzIpcApi = ipcApi({ mainWindow, settings, trayIcon }); - console.log(franzIpcApi); + ipcApi({ mainWindow, settings, trayIcon }); // Manage Window State mainWindowState.manage(mainWindow); -- cgit v1.2.3-70-g09d2 From a081fca92caee548efcf057a5f124395c55d54a9 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Fri, 22 Dec 2017 12:59:04 +0100 Subject: remove debugging tests --- src/electron/deepLinking.js | 2 -- src/index.js | 2 -- 2 files changed, 4 deletions(-) (limited to 'src/index.js') diff --git a/src/electron/deepLinking.js b/src/electron/deepLinking.js index f35cb460a..ef23fd3c5 100644 --- a/src/electron/deepLinking.js +++ b/src/electron/deepLinking.js @@ -1,8 +1,6 @@ export default function handleDeepLink(window, rawUrl) { const url = rawUrl.replace('franz://', ''); - console.log('handleDeepLink', url); - if (!url) return; window.webContents.send('navigateFromDeepLink', { url }); diff --git a/src/index.js b/src/index.js index 76b1d8352..a047e2bc1 100644 --- a/src/index.js +++ b/src/index.js @@ -147,8 +147,6 @@ const createWindow = () => { mainWindow.on('show', () => { mainWindow.setSkipTaskbar(false); - - handleDeepLink(mainWindow, 'franz://settings/services/add/msteams'); }); app.mainWindow = mainWindow; -- cgit v1.2.3-70-g09d2