+
diff --git a/packages/bruno-app/src/components/RunnerResults/ResponsePane/index.js b/packages/bruno-app/src/components/RunnerResults/ResponsePane/index.js
index 6526c7454..aeba867f4 100644
--- a/packages/bruno-app/src/components/RunnerResults/ResponsePane/index.js
+++ b/packages/bruno-app/src/components/RunnerResults/ResponsePane/index.js
@@ -34,6 +34,7 @@ const ResponsePane = ({ rightPaneWidth, item, collection }) => {
width={rightPaneWidth}
disableRunEventListener={true}
data={responseReceived.data}
+ dataBuffer={responseReceived.dataBuffer}
headers={responseReceived.headers}
key={item.filename}
/>
diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/RemoveCollection/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/RemoveCollection/index.js
index cd8291af4..11382b1fa 100644
--- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/RemoveCollection/index.js
+++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/RemoveCollection/index.js
@@ -18,7 +18,7 @@ const RemoveCollection = ({ onClose, collection }) => {
return (
- Are you sure you want to delete collection {collection.name} ?
+ Are you sure you want to remove collection {collection.name} ?
);
};
diff --git a/packages/bruno-app/src/components/Sidebar/ImportCollection/index.js b/packages/bruno-app/src/components/Sidebar/ImportCollection/index.js
index 185e3c5cb..ecfc4183d 100644
--- a/packages/bruno-app/src/components/Sidebar/ImportCollection/index.js
+++ b/packages/bruno-app/src/components/Sidebar/ImportCollection/index.js
@@ -2,6 +2,7 @@ import React from 'react';
import importBrunoCollection from 'utils/importers/bruno-collection';
import importPostmanCollection from 'utils/importers/postman-collection';
import importInsomniaCollection from 'utils/importers/insomnia-collection';
+import importOpenapiCollection from 'utils/importers/openapi-collection';
import { toastError } from 'utils/common/error';
import Modal from 'components/Modal';
@@ -30,6 +31,14 @@ const ImportCollection = ({ onClose, handleSubmit }) => {
.catch((err) => toastError(err, 'Insomnia Import collection failed'));
};
+ const handleImportOpenapiCollection = () => {
+ importOpenapiCollection()
+ .then((collection) => {
+ handleSubmit(collection);
+ })
+ .catch((err) => toastError(err, 'OpenAPI v3 Import collection failed'));
+ };
+
return (
@@ -42,6 +51,9 @@ const ImportCollection = ({ onClose, handleSubmit }) => {
Insomnia Collection
+
+ OpenAPI V3 Spec
+
);
diff --git a/packages/bruno-app/src/components/Sidebar/index.js b/packages/bruno-app/src/components/Sidebar/index.js
index 08d3655c0..a6df7141c 100644
--- a/packages/bruno-app/src/components/Sidebar/index.js
+++ b/packages/bruno-app/src/components/Sidebar/index.js
@@ -7,7 +7,7 @@ import Preferences from 'components/Preferences';
import { useState, useEffect } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { IconSettings } from '@tabler/icons';
-import { updateLeftSidebarWidth, updateIsDragging } from 'providers/ReduxStore/slices/app';
+import { updateLeftSidebarWidth, updateIsDragging, showPreferences } from 'providers/ReduxStore/slices/app';
import { useTheme } from 'providers/Theme';
const MIN_LEFT_SIDEBAR_WIDTH = 222;
@@ -15,7 +15,7 @@ const MAX_LEFT_SIDEBAR_WIDTH = 600;
const Sidebar = () => {
const leftSidebarWidth = useSelector((state) => state.app.leftSidebarWidth);
- const [preferencesOpen, setPreferencesOpen] = useState(false);
+ const preferencesOpen = useSelector((state) => state.app.showPreferences);
const [asideWidth, setAsideWidth] = useState(leftSidebarWidth);
@@ -78,7 +78,7 @@ const Sidebar = () => {
diff --git a/packages/bruno-app/src/components/SingleLineEditor/index.js b/packages/bruno-app/src/components/SingleLineEditor/index.js
index bee59b2d9..fb3bff212 100644
--- a/packages/bruno-app/src/components/SingleLineEditor/index.js
+++ b/packages/bruno-app/src/components/SingleLineEditor/index.js
@@ -57,6 +57,7 @@ class SingleLineEditor extends Component {
}
componentDidMount() {
// Initialize CodeMirror as a single line editor
+ /** @type {import("codemirror").Editor} */
this.editor = CodeMirror(this.editorRef.current, {
lineWrapping: false,
lineNumbers: false,
@@ -84,7 +85,10 @@ class SingleLineEditor extends Component {
}
},
'Alt-Enter': () => {
- if (this.props.onRun) {
+ if (this.props.allowNewlines) {
+ this.editor.setValue(this.editor.getValue() + '\n');
+ this.editor.setCursor({ line: this.editor.lineCount(), ch: 0 });
+ } else if (this.props.onRun) {
this.props.onRun();
}
},
diff --git a/packages/bruno-app/src/pages/Bruno/index.js b/packages/bruno-app/src/pages/Bruno/index.js
index 9f4de2434..f899933b9 100644
--- a/packages/bruno-app/src/pages/Bruno/index.js
+++ b/packages/bruno-app/src/pages/Bruno/index.js
@@ -21,6 +21,7 @@ if (!SERVER_RENDERED) {
require('codemirror/addon/edit/matchbrackets');
require('codemirror/addon/fold/brace-fold');
require('codemirror/addon/fold/foldgutter');
+ require('codemirror/addon/fold/xml-fold');
require('codemirror/addon/hint/show-hint');
require('codemirror/addon/lint/lint');
require('codemirror/addon/mode/overlay');
diff --git a/packages/bruno-app/src/pages/_app.js b/packages/bruno-app/src/pages/_app.js
index 0b2f9c3a4..64565bc86 100644
--- a/packages/bruno-app/src/pages/_app.js
+++ b/packages/bruno-app/src/pages/_app.js
@@ -41,6 +41,19 @@ function MyApp({ Component, pageProps }) {
return null;
}
+ if (!window.ipcRenderer) {
+ return (
+
+
ERROR:
+
"ipcRenderer" not found in window object.
+
+ You most likely opened Bruno inside your web browser. Bruno only works within Electron, you can start Electron
+ in an adjacent terminal using "npm run dev:electron".
+
+
+ );
+ }
+
return (