From 4fe31d7ebd76170b4e6a65fc456f79dcedbea1fc Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 1 Mar 2021 15:05:56 +0100 Subject: [PATCH] fix remixd provider --- .../remix-ide/src/app/files/remixDProvider.js | 6 +++++ apps/remix-ide/src/app/files/remixd-handle.js | 8 ++---- apps/remix-ide/src/app/panels/file-panel.js | 4 +-- .../workspace/src/lib/remix-ui-workspace.tsx | 26 ++++++++----------- 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/apps/remix-ide/src/app/files/remixDProvider.js b/apps/remix-ide/src/app/files/remixDProvider.js index 5f01a4673f..5c8963baac 100644 --- a/apps/remix-ide/src/app/files/remixDProvider.js +++ b/apps/remix-ide/src/app/files/remixDProvider.js @@ -54,6 +54,11 @@ module.exports = class RemixDProvider { close (cb) { this._isReady = false cb() + this.event.trigger('disconnected') + } + + preInit () { + this._registerEvent() } init (cb) { @@ -63,6 +68,7 @@ module.exports = class RemixDProvider { this._isReady = true this._readOnlyMode = result this._registerEvent() + this.event.trigger('connected') cb && cb() }).catch((error) => { cb && cb(error) diff --git a/apps/remix-ide/src/app/files/remixd-handle.js b/apps/remix-ide/src/app/files/remixd-handle.js index e65c9c404d..b068c0475d 100644 --- a/apps/remix-ide/src/app/files/remixd-handle.js +++ b/apps/remix-ide/src/app/files/remixd-handle.js @@ -30,15 +30,13 @@ const profile = { } export class RemixdHandle extends WebsocketPlugin { - constructor (fileSystemExplorer, locahostProvider, appManager) { + constructor (locahostProvider, appManager) { super(profile) - this.fileSystemExplorer = fileSystemExplorer this.locahostProvider = locahostProvider this.appManager = appManager } deactivate () { - this.fileSystemExplorer.hide() if (super.socket) super.deactivate() this.call('manager', 'deactivatePlugin', 'git') this.locahostProvider.close((error) => { @@ -82,9 +80,7 @@ export class RemixdHandle extends WebsocketPlugin { this.canceled() } }, 3000) - this.locahostProvider.init(() => { - this.fileSystemExplorer.show() - }) + this.locahostProvider.init(() => {}) this.call('manager', 'activatePlugin', 'git') } } diff --git a/apps/remix-ide/src/app/panels/file-panel.js b/apps/remix-ide/src/app/panels/file-panel.js index 15bf3777a8..8bf74a6756 100644 --- a/apps/remix-ide/src/app/panels/file-panel.js +++ b/apps/remix-ide/src/app/panels/file-panel.js @@ -57,7 +57,7 @@ module.exports = class Filepanel extends ViewPlugin { this.el = document.createElement('div') this.el.setAttribute('id', 'fileExplorerView') - this.remixdHandle = new RemixdHandle(this.remixdExplorer, this._deps.fileProviders.localhost, appManager) + this.remixdHandle = new RemixdHandle(this._deps.fileProviders.localhost, appManager) this.gitHandle = new GitHandle() this.registeredMenuItems = [] this.request = {} @@ -106,7 +106,7 @@ module.exports = class Filepanel extends ViewPlugin { } async getCurrentWorkspace () { - return await this.request.getWorkspaces() + return await this.request.getCurrentWorkspace() } async getWorkspaces () { diff --git a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx index f39433ff9a..fe8a2befbd 100644 --- a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx +++ b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx @@ -83,6 +83,16 @@ export const Workspace = (props: WorkspaceProps) => { getWorkspaces() }, [props.workspaces]) + useEffect(() => { + props.localhost.event.register('connected', (event) => { + remixdExplorer.show() + }) + + props.localhost.event.register('disconnected', (event) => { + remixdExplorer.hide() + }) + }, []) + const [state, setState] = useState({ workspaces: [], reset: false, @@ -222,20 +232,6 @@ export const Workspace = (props: WorkspaceProps) => { } } - props.localhost.event.register('connecting', (event) => {}) - - props.localhost.event.register('connected', (event) => { - remixdExplorer.show() - }) - - props.localhost.event.register('errored', (event) => { - remixdExplorer.hide() - }) - - props.localhost.event.register('closed', (event) => { - remixdExplorer.hide() - }) - const handleHideModal = () => { setState(prevState => { return { ...prevState, modal: { ...state.modal, hide: true, message: null } } @@ -352,7 +348,7 @@ export const Workspace = (props: WorkspaceProps) => {
- { state.hideRemixdExplorer && state.currentWorkspace && state.currentWorkspace !== NO_WORKSPACE && + { state.hideRemixdExplorer && state.currentWorkspace && state.currentWorkspace !== NO_WORKSPACE && state.currentWorkspace !== LOCALHOST &&