diff --git a/apps/remix-ide/src/app/editor/editor.js b/apps/remix-ide/src/app/editor/editor.js
index 10dab21ecc..7a6518081f 100644
--- a/apps/remix-ide/src/app/editor/editor.js
+++ b/apps/remix-ide/src/app/editor/editor.js
@@ -5,6 +5,7 @@ import { EditorUI } from '@remix-ui/editor' // eslint-disable-line
import { Plugin } from '@remixproject/engine'
import * as packageJson from '../../../../../package.json'
import { PluginViewWrapper } from '@remix-ui/helper'
+import { exists } from 'fs'
const EventManager = require('../../lib/events')
@@ -74,30 +75,15 @@ class Editor extends Plugin {
updateComponent(state) {
return
+ editorAPI={state.api}
+ themeType={state.currentThemeType}
+ currentFile={state.currentFile}
+ events={state.events}
+ plugin={state.plugin}
+ />
}
render () {
-
-/* if (this.el) return this.el
-
- this.el = document.createElement('div')
- this.el.setAttribute('id', 'editorView')
- this.el.currentContent = () => this.currentContent() // used by e2e test
- this.el.setCurrentContent = (value) => {
- if (this.sessions[this.currentFile]) {
- this.sessions[this.currentFile].setValue(value)
- this._onChange(this.currentFile)
- }
- }
- this.el.gotoLine = (line, column) => this.gotoLine(line, column || 0)
- this.el.getCursorPosition = () => this.getCursorPosition() */
-
return
{
this.ref = element
this.ref.currentContent = () => this.currentContent() // used by e2e test
@@ -113,7 +99,7 @@ class Editor extends Plugin {
this.ref.clearDecorationsByPlugin = (filePath, plugin, typeOfDecoration) => this.clearDecorationsByPlugin(filePath, plugin, typeOfDecoration)
this.ref.keepDecorationsFor = (name, typeOfDecoration) => this.keepDecorationsFor(name, typeOfDecoration)
}} id='editorView'>
-
+
}
@@ -229,15 +215,20 @@ class Editor extends Plugin {
try {
// we can't use the fileManager plugin call directly
// because it's itself called in a plugin context, and that causes a timeout in the plugin stack
- const contentDep = await readFile(pathDep)
- if (contentDep !== null) {
- this.emit('addModel', contentDep, 'typescript', pathDep, false)
+ const pathExists = await exists(pathDep)
+ let contentDep = ''
+ if (pathExists) {
+ contentDep = await readFile(pathDep)
+ if (contentDep !== '') {
+ this.emit('addModel', contentDep, 'typescript', pathDep, false)
+ }
+ } else {
+ console.log("The file ", pathDep, " can't be found.")
}
} catch (e) {
console.log(e)
}
}
-
}
}
diff --git a/apps/remix-ide/src/remixAppManager.js b/apps/remix-ide/src/remixAppManager.js
index 3f02d4e716..0f97707ce6 100644
--- a/apps/remix-ide/src/remixAppManager.js
+++ b/apps/remix-ide/src/remixAppManager.js
@@ -25,7 +25,8 @@ const sensitiveCalls = {
export function isNative(name) {
// nativePlugin allows to bypass the permission request
const nativePlugins = ['vyper', 'workshops', 'debugger', 'remixd', 'menuicons', 'solidity', 'solidity-logic', 'solidityStaticAnalysis', 'solidityUnitTesting',
- 'layout', 'notification', 'hardhat-provider', 'ganache-provider', 'foundry-provider', 'basic-http-provider', 'injected-optimism-provider', 'injected-arbitrum-one-provider']
+ 'layout', 'notification', 'hardhat-provider', 'ganache-provider', 'foundry-provider', 'basic-http-provider', 'injected-optimism-provider',
+ 'tabs', 'injected-arbitrum-one-provider']
return nativePlugins.includes(name) || requiredModules.includes(name)
}
diff --git a/libs/remix-ui/app/src/lib/remix-app/components/dragbar/dragbar.tsx b/libs/remix-ui/app/src/lib/remix-app/components/dragbar/dragbar.tsx
index b35097adc0..18aae23ed8 100644
--- a/libs/remix-ui/app/src/lib/remix-app/components/dragbar/dragbar.tsx
+++ b/libs/remix-ui/app/src/lib/remix-app/components/dragbar/dragbar.tsx
@@ -45,6 +45,7 @@ const DragBar = (props: IRemixDragBarUi) => {
}, [props.resetTrigger])
const handleResize = () => {
+ if (!props.refObject.current) return
setOffSet(props.refObject.current.offsetLeft)
setDragBarPosX(props.refObject.current.offsetLeft + props.refObject.current.offsetWidth)
}
diff --git a/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx b/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx
index 116630c64c..642786e866 100644
--- a/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx
+++ b/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx
@@ -23,6 +23,7 @@ const DragBar = (props: IRemixDragBarUi) => {
props.setHideStatus(false)
}
const handleResize = () => {
+ if (!props.refObject.current) return
setDragBarPosY(window.innerHeight - props.refObject.current.offsetHeight)
}
diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
index 857a86e73c..0af0ceecd5 100644
--- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
+++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
@@ -863,7 +863,13 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
-