diff --git a/dist/extension/js/background.js b/dist/extension/js/background.js index 8412785a4c..12537fb5d8 100644 --- a/dist/extension/js/background.js +++ b/dist/extension/js/background.js @@ -1,5 +1,40 @@ (() => { + let ports = []; + + const native = chrome.runtime.connectNative('com.anytype.desktop'); + + native.postMessage({ type: 'getPorts' }); + + native.onMessage.addListener((msg) => { + console.log('[Native]', msg); + + if (msg.error) { + console.error(msg.error); + }; + + switch (msg.type) { + case 'launchApp': { + break; + }; + + case 'getPorts': { + if (msg.response) { + for (let pid in msg.response) { + ports = msg.response[pid]; + break; + }; + }; + break; + }; + }; + + }); + + native.onDisconnect.addListener(() => { + console.log('[Native] Disconnected'); + }); + chrome.runtime.onInstalled.addListener((details) => { if (![ 'install', 'update' ].includes(details.reason)) { return; @@ -29,8 +64,10 @@ chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => { switch (msg.type) { - case 'initNative': { - initNative(sendResponse); + case 'getPorts': { + console.log('PORTS', ports); + + sendResponse({ ports }); break; }; }; @@ -38,52 +75,6 @@ return true; }); - const initNative = (callBack) => { - const client = chrome.runtime.connectNative('com.anytype.desktop'); - - client.onMessage.addListener((msg) => { - console.log('[Native]', msg); - - const res = { ...msg }; - - switch (msg.type) { - case 'NMHStartApplication': { - if (!msg.error) { - client.postMessage({ type: 'NMHGetOpenPorts' }); - }; - break; - }; - - case 'NMHGetOpenPorts': { - let port = ''; - - if (msg.response) { - for (let pid in msg.response) { - port = msg.response[pid][1]; - break; - }; - }; - - if (!port || msg.error) { - res.error = ''; - client.postMessage({ type: 'NMHStartApplication' }); - } else { - res.port = port; - }; - break; - }; - }; - - callBack(res); - }); - - client.onDisconnect.addListener(() => { - console.log('[Native] Disconnected'); - }); - - client.postMessage({ type: 'NMHGetOpenPorts' }); - }; - initMenu = () => { chrome.contextMenus.create({ id: 'webclipper', @@ -101,9 +92,7 @@ }; sendToActiveTab = (msg) => { - getActiveTab((tab) => { - sendToTab(tab, msg); - }); + getActiveTab((tab) => sendToTab(tab, msg)); }; sendToTab = (tab, msg) => { @@ -112,7 +101,7 @@ }; chrome.tabs.sendMessage(tab.id, msg, (response) => { - console.log('Res', response); + console.log('[sendToTab]', response); return true; }); }; diff --git a/extension/iframe.tsx b/extension/iframe.tsx index 3233911460..fbd271244c 100644 --- a/extension/iframe.tsx +++ b/extension/iframe.tsx @@ -107,8 +107,7 @@ class Iframe extends React.Component { UtilCommon.init(history); commonStore.configSet({ debug: { mw: true } }, false); - commonStore.gatewaySet('http://127.0.0.1:63423'); - + /* @ts-ignore */ chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => { console.log('Iframe message', msg, sender); @@ -121,13 +120,14 @@ class Iframe extends React.Component { return true; }); - Util.sendMessage({ type: 'initNative' }, (response) => { - if (response.error) { + Util.sendMessage({ type: 'getPorts' }, (response) => { + if (!response.ports || !response.ports.length) { return; }; - authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiWGhYdXlEUFYifQ.pnNEnTksl5pFacCTv5aFJd-Ur8X2cRfmIXcT30w02ro'); - dispatcher.init(`http://127.0.0.1:${response.port}`); + authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiVXFrdVJid0gifQ.iwzQLqS7znIuiCGTCLtMWxCxNboNZnS1hssU-rwrjWA'); + commonStore.gatewaySet(`http://127.0.0.1:${response.ports[0]}`); + dispatcher.init(`http://127.0.0.1:${response.ports[1]}`); UtilCommon.route('/create', {}); }); diff --git a/extension/popup/index.tsx b/extension/popup/index.tsx index 5724da5de6..15af221175 100644 --- a/extension/popup/index.tsx +++ b/extension/popup/index.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { observer } from 'mobx-react'; import { Label, Button, Error } from 'Component'; import { I, UtilCommon, UtilData, dispatcher } from 'Lib'; -import { authStore } from 'Store'; +import { authStore, commonStore } from 'Store'; import Url from 'json/url.json'; import Util from '../lib/util'; @@ -42,16 +42,17 @@ const Index = observer(class Index extends React.Component { - console.log('Response', response); + Util.sendMessage({ type: 'getPorts' }, (response) => { + console.log('[onLogin]', response); - if (response.error) { + if (!response.ports || !response.ports.length) { this.setState({ error: 'Pairing failed' }); return; }; - authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiWGhYdXlEUFYifQ.pnNEnTksl5pFacCTv5aFJd-Ur8X2cRfmIXcT30w02ro'); - dispatcher.init(`http://127.0.0.1:${response.port}`); + authStore.tokenSet('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWVkIjoiVXFrdVJid0gifQ.iwzQLqS7znIuiCGTCLtMWxCxNboNZnS1hssU-rwrjWA'); + commonStore.gatewaySet(`http://127.0.0.1:${response.ports[0]}`); + dispatcher.init(`http://127.0.0.1:${response.ports[1]}`); UtilData.createsSubscriptions(() => { UtilCommon.route('/create', {}); diff --git a/go/nativeMessagingHost.go b/go/nativeMessagingHost.go index 8f469602cf..4ae30c9ab1 100644 --- a/go/nativeMessagingHost.go +++ b/go/nativeMessagingHost.go @@ -311,7 +311,7 @@ func parseMessage(msg []byte) { } switch iMsg.Type { - case "NMHGetOpenPorts": + case "getPorts": // Get open ports openPorts, err := getOpenPorts() @@ -320,7 +320,7 @@ func parseMessage(msg []byte) { } else { oMsg.Response = openPorts } - case "NMHStartApplication": + case "launchApp": // Start application pid, err := startApplication() if err != nil { diff --git a/src/scss/menu/dataview/option.scss b/src/scss/menu/dataview/option.scss index 2f9cd330ea..7494f9b178 100644 --- a/src/scss/menu/dataview/option.scss +++ b/src/scss/menu/dataview/option.scss @@ -5,8 +5,6 @@ .content { overflow: visible !important; padding: 0px; } .items { height: 100%; } - .item.empty { margin-top: 8px; } - .item.add { .name { @include text-overflow-nw; width: calc(100% - 24px); } }