From d82b01efdded7e8f68014c2bba203662a5d0a175 Mon Sep 17 00:00:00 2001 From: lianahus Date: Thu, 21 Jul 2022 11:35:01 +0200 Subject: [PATCH 1/7] alighning headers --- libs/remix-ui/panel/src/lib/plugins/panel-header.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx index 4bffb2565f..b6e8c9948a 100644 --- a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx +++ b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx @@ -27,8 +27,8 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => { return (
-
{plugin?.profile.displayName || plugin?.profile.name}
-
+
{plugin?.profile.displayName || plugin?.profile.name}
+
{plugin?.profile?.maintainedBy?.toLowerCase() === "remix" && ()}
From 06e0d31603f61d20fcc37603ed510194eaa703a2 Mon Sep 17 00:00:00 2001 From: lianahus Date: Mon, 25 Jul 2022 12:33:55 +0200 Subject: [PATCH 2/7] debuger UI --- apps/remix-ide/src/app/tabs/debugger-tab.js | 2 +- .../app/tabs/styles/debugger-tab-styles.js | 3 - .../debugger-ui/src/lib/debugger-ui.css | 4 + .../debugger-ui/src/lib/debugger-ui.tsx | 84 ++++++++++++------- .../src/lib/vm-debugger/vm-debugger-head.tsx | 2 +- 5 files changed, 61 insertions(+), 34 deletions(-) diff --git a/apps/remix-ide/src/app/tabs/debugger-tab.js b/apps/remix-ide/src/app/tabs/debugger-tab.js index a06db0c508..bcca8fec37 100644 --- a/apps/remix-ide/src/app/tabs/debugger-tab.js +++ b/apps/remix-ide/src/app/tabs/debugger-tab.js @@ -51,7 +51,7 @@ export class DebuggerTab extends DebuggerApiMixin(ViewPlugin) { this.on('fetchAndCompile', 'sourceVerificationNotAvailable', () => { this.call('notification', 'toast', sourceVerificationNotAvailableToastMsg()) }) - return
+ return
} showMessage (title, message) { diff --git a/apps/remix-ide/src/app/tabs/styles/debugger-tab-styles.js b/apps/remix-ide/src/app/tabs/styles/debugger-tab-styles.js index 6a15d2cf56..3fb7add424 100644 --- a/apps/remix-ide/src/app/tabs/styles/debugger-tab-styles.js +++ b/apps/remix-ide/src/app/tabs/styles/debugger-tab-styles.js @@ -1,9 +1,6 @@ var csjs = require('csjs-inject') const css = csjs` - .debuggerTabView { - padding: 2%; - } .debugger { margin-bottom: 1%; } diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.css b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.css index 7bb10333dc..636cfa4eea 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.css +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.css @@ -16,4 +16,8 @@ } .validationError { overflow-wrap: break-word; +} +.debuggerPanels { + overflow-y: scroll; + height: fit-content; } \ No newline at end of file diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx index bd8008d0e3..51d874ae4e 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react' // eslint-disable-line +import React, { useState, useEffect, useRef } from 'react' // eslint-disable-line import TxBrowser from './tx-browser/tx-browser' // eslint-disable-line import StepManager from './step-manager/step-manager' // eslint-disable-line import VmDebugger from './vm-debugger/vm-debugger' // eslint-disable-line @@ -36,6 +36,28 @@ export const DebuggerUI = (props: DebuggerUIProps) => { sourceLocationStatus: '' }) + const panelsRef = useRef(null) + const debuggerTopRef = useRef(null) + + const handleResize = () => { + if (panelsRef.current && debuggerTopRef.current) { + panelsRef.current.style.height = (window.innerHeight - debuggerTopRef.current.clientHeight) - debuggerTopRef.current.offsetTop - 7 +'px' + } + } + + useEffect(() => { + handleResize() + }) + + useEffect(() => { + window.addEventListener('resize', handleResize) + // TODO: not a good way to wait on the ref doms element to be rendered of course + setTimeout(() => + handleResize(), 2000) + return () => window.removeEventListener('resize', handleResize) + }, []) + + useEffect(() => { return unLoad() }, []) @@ -260,34 +282,35 @@ export const DebuggerUI = (props: DebuggerUIProps) => { }) setTimeout(async() => { - try { - await debuggerInstance.debug(blockNumber, txNumber, tx, () => { - listenToEvents(debuggerInstance, currentReceipt) + try { + await debuggerInstance.debug(blockNumber, txNumber, tx, () => { + listenToEvents(debuggerInstance, currentReceipt) + setState(prevState => { + return { + ...prevState, + blockNumber, + txNumber, + debugging: true, + currentReceipt, + currentBlock, + currentTransaction, + debugger: debuggerInstance, + toastMessage: `debugging ${txNumber}`, + validationError: '' + } + }) + }) + } catch (error) { + unLoad() setState(prevState => { return { ...prevState, - blockNumber, - txNumber, - debugging: true, - currentReceipt, - currentBlock, - currentTransaction, - debugger: debuggerInstance, - toastMessage: `debugging ${txNumber}`, - validationError: '' + validationError: error.message || error } }) - }) - } catch (error) { - unLoad() - setState(prevState => { - return { - ...prevState, - validationError: error.message || error - } - }) - } - }, 300) + } + }, 300) + handleResize() } const debug = (txHash, web3?) => { @@ -315,17 +338,18 @@ export const DebuggerUI = (props: DebuggerUIProps) => { traceLength: state.debugger && state.debugger.step_manager ? state.debugger.step_manager.traceLength : null, registerEvent: state.debugger && state.debugger.step_manager ? state.debugger.step_manager.event.register.bind(state.debugger.step_manager.event) : null } + const vmDebugger = { registerEvent: state.debugger && state.debugger.vmDebuggerLogic ? state.debugger.vmDebuggerLogic.event.register.bind(state.debugger.vmDebuggerLogic.event) : null, triggerEvent: state.debugger && state.debugger.vmDebuggerLogic ? state.debugger.vmDebuggerLogic.event.trigger.bind(state.debugger.vmDebuggerLogic.event) : null } + return (
-
+
-

Debugger Configuration

-
+
{ setState(prevState => { return { ...prevState, opt: { ...prevState.opt, debugWithGeneratedSources: checked } } @@ -333,7 +357,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { }} type="checkbox" title="Debug with generated sources" />
- { state.isLocalNodeUsed &&
+ { state.isLocalNodeUsed &&
{ setState(prevState => { return { ...prevState, opt: { ...prevState.opt, debugWithLocalNode: checked } } @@ -356,9 +380,11 @@ export const DebuggerUI = (props: DebuggerUIProps) => {
} { state.debugging && } +
+
{ state.debugging && } + { state.debugging && }
- { state.debugging && }
) } diff --git a/libs/remix-ui/debugger-ui/src/lib/vm-debugger/vm-debugger-head.tsx b/libs/remix-ui/debugger-ui/src/lib/vm-debugger/vm-debugger-head.tsx index 3a58c1d2f4..612757fe36 100644 --- a/libs/remix-ui/debugger-ui/src/lib/vm-debugger/vm-debugger-head.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/vm-debugger/vm-debugger-head.tsx @@ -98,7 +98,7 @@ export const VmDebuggerHead = ({ vmDebugger: { registerEvent, triggerEvent } }) }, [registerEvent]) return ( -
+
From ca63e1da5952b903db833c25ec090911a40558d8 Mon Sep 17 00:00:00 2001 From: lianahus Date: Tue, 26 Jul 2022 12:58:28 +0200 Subject: [PATCH 3/7] adding title --- libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx index 51d874ae4e..f1ba914eb9 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx @@ -349,7 +349,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => {
-
+
{ setState(prevState => { return { ...prevState, opt: { ...prevState.opt, debugWithGeneratedSources: checked } } From 55f303a1ddf2f4bb452fd3e7262b37a2d9881d6a Mon Sep 17 00:00:00 2001 From: lianahus Date: Wed, 3 Aug 2022 11:21:24 +0200 Subject: [PATCH 4/7] added deps to useeffect --- libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx index f1ba914eb9..fc4974b38e 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx @@ -47,7 +47,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { useEffect(() => { handleResize() - }) + }, ) useEffect(() => { window.addEventListener('resize', handleResize) @@ -55,7 +55,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { setTimeout(() => handleResize(), 2000) return () => window.removeEventListener('resize', handleResize) - }, []) + }, [state.debugging]) useEffect(() => { @@ -97,7 +97,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { } providerChanged() - }, [state.debugger]) + }, [state.debugger, state.isActive]) const listenToEvents = (debuggerInstance, currentReceipt) => { if (!debuggerInstance) return From 31d86bde0792beb175eb39f37fcd2711ef36b94d Mon Sep 17 00:00:00 2001 From: lianahus Date: Wed, 3 Aug 2022 12:47:30 +0200 Subject: [PATCH 5/7] fix --- libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx index fc4974b38e..a144c8f006 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx @@ -47,7 +47,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { useEffect(() => { handleResize() - }, ) + }, [state.debugging, state.isActive]) useEffect(() => { window.addEventListener('resize', handleResize) @@ -97,7 +97,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { } providerChanged() - }, [state.debugger, state.isActive]) + }, [state.debugger]) const listenToEvents = (debuggerInstance, currentReceipt) => { if (!debuggerInstance) return From d9a3e59a2cbb63088d4563073cf6b727590f95fc Mon Sep 17 00:00:00 2001 From: lianahus Date: Wed, 3 Aug 2022 12:49:12 +0200 Subject: [PATCH 6/7] fix --- libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx index a144c8f006..74660fdabe 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx @@ -47,7 +47,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { useEffect(() => { handleResize() - }, [state.debugging, state.isActive]) + }, []) useEffect(() => { window.addEventListener('resize', handleResize) @@ -55,7 +55,7 @@ export const DebuggerUI = (props: DebuggerUIProps) => { setTimeout(() => handleResize(), 2000) return () => window.removeEventListener('resize', handleResize) - }, [state.debugging]) + }, [state.debugging, state.isActive]) useEffect(() => { From 3f8710e08f166a42de9b8e50ef4e3d7bf574dd56 Mon Sep 17 00:00:00 2001 From: lianahus Date: Wed, 17 Aug 2022 11:02:21 +0200 Subject: [PATCH 7/7] e2e for debuger --- apps/remix-ide-e2e/src/tests/debugger.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/remix-ide-e2e/src/tests/debugger.test.ts b/apps/remix-ide-e2e/src/tests/debugger.test.ts index 19918de0c4..e55ae8d6fd 100644 --- a/apps/remix-ide-e2e/src/tests/debugger.test.ts +++ b/apps/remix-ide-e2e/src/tests/debugger.test.ts @@ -205,6 +205,7 @@ module.exports = { .clickLaunchIcon('debugger') .waitForElementVisible('*[data-id="slider"]') .goToVMTraceStep(154) + .scrollInto('*[data-id="stepdetail"]') .waitForElementContainsText('*[data-id="stepdetail"]', 'vm trace step:\n154', 60000) },