From 1d0ba135ff403a7eb780673747572c90635f37d0 Mon Sep 17 00:00:00 2001 From: sanish chirayath Date: Mon, 6 Oct 2025 23:16:19 +0530 Subject: [PATCH] Enable gRPC (Beta to GA) (#5687) * refactor: remove gRPC feature toggle from CollectionSettings and Presets components * fix: lint error --------- Co-authored-by: Bijin A B --- .../CollectionSettings/Presets/index.js | 37 ++++++----------- .../components/CollectionSettings/index.js | 12 ++---- .../src/components/Preferences/Beta/index.js | 15 ------- .../components/Sidebar/NewRequest/index.js | 40 +++++++------------ packages/bruno-app/src/utils/beta-features.js | 1 - .../bruno-electron/src/store/preferences.js | 2 - 6 files changed, 32 insertions(+), 75 deletions(-) diff --git a/packages/bruno-app/src/components/CollectionSettings/Presets/index.js b/packages/bruno-app/src/components/CollectionSettings/Presets/index.js index 8683fa4f9..4f1168180 100644 --- a/packages/bruno-app/src/components/CollectionSettings/Presets/index.js +++ b/packages/bruno-app/src/components/CollectionSettings/Presets/index.js @@ -5,11 +5,9 @@ import StyledWrapper from './StyledWrapper'; import toast from 'react-hot-toast'; import { updateBrunoConfig } from 'providers/ReduxStore/slices/collections/actions'; import cloneDeep from 'lodash/cloneDeep'; -import { useBetaFeature, BETA_FEATURES } from 'utils/beta-features'; const PresetsSettings = ({ collection }) => { const dispatch = useDispatch(); - const isGrpcEnabled = useBetaFeature(BETA_FEATURES.GRPC); const { brunoConfig: { presets: presets = {} } } = collection; @@ -17,15 +15,10 @@ const PresetsSettings = ({ collection }) => { const formik = useFormik({ enableReinitialize: true, initialValues: { - requestType: presets.requestType === 'grpc' && !isGrpcEnabled ? 'http' : presets.requestType || 'http', + requestType: presets.requestType || 'http', requestUrl: presets.requestUrl || '' }, onSubmit: (newPresets) => { - // If gRPC is disabled but the preset is set to grpc, change it to http - if (!isGrpcEnabled && newPresets.requestType === 'grpc') { - newPresets.requestType = 'http'; - } - const brunoConfig = cloneDeep(collection.brunoConfig); brunoConfig.presets = newPresets; dispatch(updateBrunoConfig(brunoConfig, collection.uid)); @@ -70,22 +63,18 @@ const PresetsSettings = ({ collection }) => { GraphQL - {isGrpcEnabled && ( - <> - - - - )} + +
diff --git a/packages/bruno-app/src/components/CollectionSettings/index.js b/packages/bruno-app/src/components/CollectionSettings/index.js index 8a27d6ce4..4f90126e6 100644 --- a/packages/bruno-app/src/components/CollectionSettings/index.js +++ b/packages/bruno-app/src/components/CollectionSettings/index.js @@ -18,11 +18,9 @@ import StyledWrapper from './StyledWrapper'; import Vars from './Vars/index'; import StatusDot from 'components/StatusDot'; import Overview from './Overview/index'; -import { useBetaFeature, BETA_FEATURES } from 'utils/beta-features'; const CollectionSettings = ({ collection }) => { const dispatch = useDispatch(); - const isGrpcEnabled = useBetaFeature(BETA_FEATURES.GRPC); const tab = collection.settingsSelectedTab; const setTab = (tab) => { dispatch( @@ -174,12 +172,10 @@ const CollectionSettings = ({ collection }) => { Client Certificates {clientCertConfig.length > 0 && }
- {isGrpcEnabled && ( -
setTab('grpc')}> - gRPC - {grpcConfig.protoFiles && grpcConfig.protoFiles.length > 0 && } -
- )} +
setTab('grpc')}> + gRPC + {grpcConfig.protoFiles && grpcConfig.protoFiles.length > 0 && } +
{getTabPanel(tab)}
diff --git a/packages/bruno-app/src/components/Preferences/Beta/index.js b/packages/bruno-app/src/components/Preferences/Beta/index.js index fe88fbe98..4092216d9 100644 --- a/packages/bruno-app/src/components/Preferences/Beta/index.js +++ b/packages/bruno-app/src/components/Preferences/Beta/index.js @@ -10,11 +10,6 @@ import get from 'lodash/get'; // Beta features configuration const BETA_FEATURES = [ - { - id: 'grpc', - label: 'gRPC Support', - description: 'Enable gRPC request support for making gRPC calls to services' - }, { id: 'nodevm', label: 'Node VM Runtime', @@ -103,16 +98,6 @@ const Beta = ({ close }) => { - {feature.id === 'grpc' && ( - - Share feedback - - )}
{feature.description} diff --git a/packages/bruno-app/src/components/Sidebar/NewRequest/index.js b/packages/bruno-app/src/components/Sidebar/NewRequest/index.js index d4912e453..6fbb39370 100644 --- a/packages/bruno-app/src/components/Sidebar/NewRequest/index.js +++ b/packages/bruno-app/src/components/Sidebar/NewRequest/index.js @@ -21,14 +21,12 @@ import Help from 'components/Help'; import StyledWrapper from './StyledWrapper'; import SingleLineEditor from 'components/SingleLineEditor/index'; import { useTheme } from 'styled-components'; -import { useBetaFeature, BETA_FEATURES } from 'utils/beta-features'; const NewRequest = ({ collectionUid, item, isEphemeral, onClose }) => { const dispatch = useDispatch(); const inputRef = useRef(); const storedTheme = useTheme(); - const isGrpcEnabled = useBetaFeature(BETA_FEATURES.GRPC); const collection = useSelector((state) => state.collections.collections?.find((c) => c.uid === collectionUid)); const { @@ -92,10 +90,6 @@ const NewRequest = ({ collectionUid, item, isEphemeral, onClose }) => { } if (collectionPresets.requestType === 'grpc') { - // If gRPC is disabled in beta features, fall back to http-request - if (!isGrpcEnabled) { - return 'http-request'; - } return 'grpc-request'; } @@ -339,25 +333,21 @@ const NewRequest = ({ collectionUid, item, isEphemeral, onClose }) => { GraphQL - {isGrpcEnabled && ( - <> - { - formik.setFieldValue('requestMethod', 'POST'); - formik.handleChange(event); - }} - value="grpc-request" - checked={formik.values.requestType === 'grpc-request'} - /> - - - )} + { + formik.setFieldValue('requestMethod', 'POST'); + formik.handleChange(event); + }} + value="grpc-request" + checked={formik.values.requestType === 'grpc-request'} + /> +