Skip to content

fix: update @opencollection/types to version 0.6.0 and refactor auth … - #6619

Merged
helloanoop merged 1 commit into
mainfrom
feature/oc-schema-auth-update
Jan 1, 2026
Merged

helloanoop merged 1 commit into
mainfrom
feature/oc-schema-auth-update

Conversation

@helloanoop

@helloanoop helloanoop commented Jan 1, 2026 •

Copy link
Copy Markdown
Contributor
  • Updated to OpenCollection schema v0.6.0
  • Moved auth from runtime to request properties

Summary by CodeRabbit

  • Chores

    • Updated @opencollection/types dependency from ~0.5.0 to ~0.6.0
  • Refactor

    • Reorganized authentication data structure to be stored at the request level (HTTP, GraphQL, gRPC, WebSocket) instead of runtime level
    • Added backward compatibility support for existing configurations using the previous authentication structure

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI review requested due to automatic review settings January 1, 2026 22:18
@coderabbitai

coderabbitai Bot commented Jan 1, 2026 •

Copy link
Copy Markdown
Contributor

Walkthrough

This PR refactors authentication handling across the codebase by shifting auth data from runtime.auth to protocol-specific fields (http.auth, graphql.auth, grpc.auth, websocket.auth) in converters, parsers, and stringifiers, with backward-compatibility support for the migration. The @opencollection/types dependency is bumped to ~0.6.0.

Changes

Cohort / File(s) Summary
Dependency Update
package.json
Updated @opencollection/types from ~0.5.0 to ~0.6.0
OpenCollection Converters
packages/bruno-converters/src/opencollection/items/{graphql,grpc,http,websocket}.ts
Refactored fromOpenCollection*Item and toOpenCollection*Item functions to read auth from protocol-specific fields (e.g., graphql.auth) instead of runtime.auth; removed runtime.auth assignment in converters
YAML Parsers
packages/bruno-filestore/src/formats/yml/items/{parseGraphQLRequest,parseGrpcRequest,parseHttpRequest,parseWebsocketRequest}.ts
Updated auth source from runtime?.auth to protocol-specific fields (e.g., graphql?.auth, http?.auth); parseWebsocketRequest signature simplified to accept WebSocketRequest instead of WebSocketRequestWithSettings
YAML Stringifiers
packages/bruno-filestore/src/formats/yml/items/{stringifyGraphQLRequest,stringifyGrpcRequest,stringifyHttpRequest,stringifyWebsocketRequest}.ts
Moved auth assignment from runtime.auth to protocol-specific fields; stringifyWebsocketRequest now uses WebSocketRequest type
Backward Compatibility
packages/bruno-filestore/src/formats/yml/parseItem.ts
Added ensureAuthV3Rc1BackwardsCompatibility helper to copy runtime.auth to protocol-specific auth fields for items missing the latter; applied before type parsing

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • usebruno/bruno#6335: Modifies the same request parsing/stringifying files to align auth placement and OpenCollection type schema changes across HTTP, GraphQL, gRPC, and WebSocket request handlers.

Suggested labels

size/XL

Suggested reviewers

  • lohit-bruno
  • naman-bruno
  • bijin-bruno

Poem

🔐 Auth takes a walk down the protocol lane,
From runtime's shadow to where it should reign,
Each field now holds what it's meant to possess,
While backward compat ensures the old ways compress.
A tidy refactor, a structural dance! 🎭

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main changes: upgrading @opencollection/types to 0.6.0 and refactoring auth handling from runtime to request-specific properties across multiple request types.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the @opencollection/types dependency from version 0.5.0 to 0.6.0 and refactors authentication configuration from the runtime block to request-specific blocks (http, graphql, grpc, websocket). The change includes backward compatibility support for files created with the v3.0.0-rc1 release.

  • Updated @opencollection/types package to version 0.6.0
  • Migrated auth from runtime block to request-specific blocks across all request types
  • Added backward compatibility function to handle v3.0.0-rc1 format files

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
package.json Updated @opencollection/types dependency from ~0.5.0 to ~0.6.0
package-lock.json Updated package lock with new @opencollection/types version and integrity hashes
packages/bruno-filestore/src/formats/yml/parseItem.ts Added backward compatibility function to migrate auth from runtime to request blocks
packages/bruno-filestore/src/formats/yml/items/stringifyHttpRequest.ts Moved auth assignment from runtime block to http block
packages/bruno-filestore/src/formats/yml/items/stringifyGraphQLRequest.ts Moved auth assignment from runtime block to graphql block
packages/bruno-filestore/src/formats/yml/items/stringifyGrpcRequest.ts Moved auth assignment from runtime block to grpc block
packages/bruno-filestore/src/formats/yml/items/stringifyWebsocketRequest.ts Moved auth assignment from runtime block to websocket block; removed custom WebSocketRequestWithSettings interface
packages/bruno-filestore/src/formats/yml/items/parseHttpRequest.ts Changed auth parsing to read from http.auth instead of runtime.auth
packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts Changed auth parsing to read from graphql.auth instead of runtime.auth
packages/bruno-filestore/src/formats/yml/items/parseGrpcRequest.ts Changed auth parsing to read from grpc.auth instead of runtime.auth
packages/bruno-filestore/src/formats/yml/items/parseWebsocketRequest.ts Changed auth parsing to read from websocket.auth instead of runtime.auth; removed custom WebSocketRequestWithSettings interface
packages/bruno-converters/src/opencollection/items/http.ts Updated auth handling in converters to use http.auth instead of runtime.auth
packages/bruno-converters/src/opencollection/items/graphql.ts Updated auth handling in converters to use graphql.auth instead of runtime.auth
packages/bruno-converters/src/opencollection/items/grpc.ts Updated auth handling in converters to use grpc.auth instead of runtime.auth
packages/bruno-converters/src/opencollection/items/websocket.ts Updated auth handling in converters to use websocket.auth instead of runtime.auth

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/bruno-filestore/src/formats/yml/parseItem.ts
Comment thread packages/bruno-filestore/src/formats/yml/parseItem.ts
Comment thread packages/bruno-filestore/src/formats/yml/parseItem.ts
Comment on lines +37 to +53
if (parsedItemYml.runtime?.auth && !parsedItemYml.http?.auth) {
parsedItemYml.http.auth = parsedItemYml.runtime.auth;
}
break;
case 'graphql':
if (parsedItemYml.runtime?.auth && !parsedItemYml.graphql?.auth) {
parsedItemYml.graphql.auth = parsedItemYml.runtime.auth;
}
break;
case 'grpc':
if (parsedItemYml.runtime?.auth && !parsedItemYml.grpc?.auth) {
parsedItemYml.grpc.auth = parsedItemYml.runtime.auth;
}
break;
case 'websocket':
if (parsedItemYml.runtime?.auth && !parsedItemYml.websocket?.auth) {
parsedItemYml.websocket.auth = parsedItemYml.runtime.auth;

Copilot AI Jan 1, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The backward compatibility function doesn't check if the request object (e.g., parsedItemYml.websocket) exists before trying to set the auth property. This could cause a runtime error if the request object is undefined. Consider adding a check to ensure the request object exists before attempting to set the auth property.

Suggested change
if (parsedItemYml.runtime?.auth && !parsedItemYml.http?.auth) {
parsedItemYml.http.auth = parsedItemYml.runtime.auth;
}
break;
case 'graphql':
if (parsedItemYml.runtime?.auth && !parsedItemYml.graphql?.auth) {
parsedItemYml.graphql.auth = parsedItemYml.runtime.auth;
}
break;
case 'grpc':
if (parsedItemYml.runtime?.auth && !parsedItemYml.grpc?.auth) {
parsedItemYml.grpc.auth = parsedItemYml.runtime.auth;
}
break;
case 'websocket':
if (parsedItemYml.runtime?.auth && !parsedItemYml.websocket?.auth) {
parsedItemYml.websocket.auth = parsedItemYml.runtime.auth;
if (parsedItemYml.runtime?.auth) {
if (!parsedItemYml.http) {
parsedItemYml.http = {};
}
if (!parsedItemYml.http.auth) {
parsedItemYml.http.auth = parsedItemYml.runtime.auth;
}
}
break;
case 'graphql':
if (parsedItemYml.runtime?.auth) {
if (!parsedItemYml.graphql) {
parsedItemYml.graphql = {};
}
if (!parsedItemYml.graphql.auth) {
parsedItemYml.graphql.auth = parsedItemYml.runtime.auth;
}
}
break;
case 'grpc':
if (parsedItemYml.runtime?.auth) {
if (!parsedItemYml.grpc) {
parsedItemYml.grpc = {};
}
if (!parsedItemYml.grpc.auth) {
parsedItemYml.grpc.auth = parsedItemYml.runtime.auth;
}
}
break;
case 'websocket':
if (parsedItemYml.runtime?.auth) {
if (!parsedItemYml.websocket) {
parsedItemYml.websocket = {};
}
if (!parsedItemYml.websocket.auth) {
parsedItemYml.websocket.auth = parsedItemYml.runtime.auth;
}

Copilot uses AI. Check for mistakes.
Comment thread packages/bruno-filestore/src/formats/yml/parseItem.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f611c05 and 2fbb33b.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (14)
  • package.json
  • packages/bruno-converters/src/opencollection/items/graphql.ts
  • packages/bruno-converters/src/opencollection/items/grpc.ts
  • packages/bruno-converters/src/opencollection/items/http.ts
  • packages/bruno-converters/src/opencollection/items/websocket.ts
  • packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/parseGrpcRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/parseHttpRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/parseWebsocketRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyGraphQLRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyGrpcRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyHttpRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyWebsocketRequest.ts
  • packages/bruno-filestore/src/formats/yml/parseItem.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (CODING_STANDARDS.md)

**/*.{js,jsx,ts,tsx}: Use 2 spaces for indentation. No tabs, just spaces
Stick to single quotes for strings. For JSX/TSX attributes, use double quotes (e.g., )
Always add semicolons at the end of statements
No trailing commas
Always use parentheses around parameters in arrow functions, even for single params
For multiline constructs, put opening braces on the same line, and ensure consistency. Minimum 2 elements for multiline
No newlines inside function parentheses
Space before and after the arrow in arrow functions. () => {} is good
No space between function name and parentheses. func() not func ()
Semicolons go at the end of the line, not on a new line
Names for functions need to be concise and descriptive
Add in JSDoc comments to add more details to the abstractions if needed
Add in meaningful comments instead of obvious ones where complex code flow is explained properly

Files:

  • packages/bruno-filestore/src/formats/yml/items/parseGrpcRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyGrpcRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/parseWebsocketRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/parseHttpRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyWebsocketRequest.ts
  • packages/bruno-converters/src/opencollection/items/graphql.ts
  • packages/bruno-converters/src/opencollection/items/http.ts
  • packages/bruno-filestore/src/formats/yml/parseItem.ts
  • packages/bruno-converters/src/opencollection/items/websocket.ts
  • packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts
  • packages/bruno-converters/src/opencollection/items/grpc.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyHttpRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyGraphQLRequest.ts
🧠 Learnings (1)
📚 Learning: 2025-12-02T07:24:50.311Z
Learnt from: bijin-bruno
Repo: usebruno/bruno PR: 6263
File: packages/bruno-requests/src/auth/oauth2-helper.ts:249-249
Timestamp: 2025-12-02T07:24:50.311Z
Learning: In OAuth2 Basic Auth headers for Bruno, clientSecret is optional and can be omitted. When constructing the Authorization header in `packages/bruno-requests/src/auth/oauth2-helper.ts`, use `clientSecret || ''` instead of `clientSecret!` to properly handle cases where only clientId is provided, per community requests.

Applied to files:

  • packages/bruno-filestore/src/formats/yml/items/stringifyGrpcRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/parseHttpRequest.ts
  • packages/bruno-converters/src/opencollection/items/graphql.ts
  • packages/bruno-converters/src/opencollection/items/http.ts
  • packages/bruno-converters/src/opencollection/items/websocket.ts
  • packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts
  • packages/bruno-converters/src/opencollection/items/grpc.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyHttpRequest.ts
  • packages/bruno-filestore/src/formats/yml/items/stringifyGraphQLRequest.ts
🧬 Code graph analysis (8)
packages/bruno-filestore/src/formats/yml/items/parseGrpcRequest.ts (1)
packages/bruno-filestore/src/formats/yml/common/auth.ts (1)
  • toBrunoAuth (150-245)
packages/bruno-filestore/src/formats/yml/items/stringifyGrpcRequest.ts (3)
packages/bruno-schema-types/src/common/auth.ts (1)
  • Auth (95-105)
packages/bruno-schema-types/src/common/index.ts (1)
  • Auth (9-9)
packages/bruno-filestore/src/formats/yml/common/auth.ts (1)
  • toOpenCollectionAuth (118-148)
packages/bruno-filestore/src/formats/yml/items/parseWebsocketRequest.ts (3)
packages/bruno-schema-types/src/requests/websocket.ts (1)
  • WebSocketRequest (14-27)
packages/bruno-filestore/src/formats/yml/common/headers.ts (1)
  • toBrunoHttpHeaders (41-58)
packages/bruno-filestore/src/formats/yml/common/auth.ts (1)
  • toBrunoAuth (150-245)
packages/bruno-filestore/src/formats/yml/items/parseHttpRequest.ts (2)
packages/bruno-filestore/src/formats/yml/common/auth.ts (1)
  • toBrunoAuth (150-245)
packages/bruno-lang/v2/src/jsonToBru.js (1)
  • http (43-43)
packages/bruno-filestore/src/formats/yml/items/stringifyWebsocketRequest.ts (1)
packages/bruno-filestore/src/formats/yml/common/auth.ts (1)
  • toOpenCollectionAuth (118-148)
packages/bruno-converters/src/opencollection/items/graphql.ts (1)
packages/bruno-converters/src/opencollection/common/auth.ts (2)
  • fromOpenCollectionAuth (167-284)
  • toOpenCollectionAuth (400-470)
packages/bruno-converters/src/opencollection/items/http.ts (2)
packages/bruno-converters/src/opencollection/common/auth.ts (2)
  • fromOpenCollectionAuth (167-284)
  • toOpenCollectionAuth (400-470)
packages/bruno-converters/src/opencollection/types.ts (2)
  • Auth (98-98)
  • Auth (134-134)
packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts (1)
packages/bruno-filestore/src/formats/yml/common/auth.ts (1)
  • toBrunoAuth (150-245)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: Agent
  • GitHub Check: SSL Tests - Linux
  • GitHub Check: SSL Tests - macOS
  • GitHub Check: SSL Tests - Windows
  • GitHub Check: Unit Tests
  • GitHub Check: CLI Tests
  • GitHub Check: Playwright E2E Tests
🔇 Additional comments (20)
packages/bruno-filestore/src/formats/yml/items/parseHttpRequest.ts (1)

24-24: LGTM! Auth source correctly updated.

The change from runtime?.auth to http?.auth aligns with the refactoring objective to move auth into protocol-specific properties. The optional chaining safely handles cases where http is undefined.

packages/bruno-filestore/src/formats/yml/items/parseGrpcRequest.ts (1)

41-41: LGTM! Auth source correctly updated.

Consistent with the refactoring pattern, auth is now sourced from grpc?.auth instead of runtime?.auth. The optional chaining ensures safe handling when the grpc object is undefined.

packages/bruno-converters/src/opencollection/items/grpc.ts (3)

81-81: LGTM! Auth source correctly updated in converter.

The change from runtime.auth to grpc.auth in fromOpenCollectionGrpcItem correctly aligns with the refactored auth structure.


169-173: LGTM! Auth correctly written to protocol-specific field.

Auth is now properly extracted and assigned to grpc.auth with appropriate null checking, consistent with the refactoring pattern.


188-188: LGTM! Runtime construction condition updated correctly.

The runtime object is now only created when scripts, variables, assertions, or actions exist. Auth no longer triggers runtime construction, which is correct since auth has been moved to the protocol-specific grpc block.

package.json (1)

26-26: Package version confirmed.

@opencollection/types@0.6.0 exists and is the latest published version on npm. The upgrade is valid.

packages/bruno-converters/src/opencollection/items/websocket.ts (2)

74-74: LGTM! Auth source correctly updated.

The auth source has been correctly changed from runtime.auth to websocket.auth, aligning with the new OpenCollection schema v0.6.0.


136-154: LGTM! Auth relocation properly implemented.

The auth is now correctly extracted from request.auth and assigned to websocket.auth. The runtime construction has been appropriately updated to exclude auth from the condition check (line 154).

packages/bruno-converters/src/opencollection/items/http.ts (2)

75-75: LGTM! Auth source correctly updated.

Auth now correctly reads from http?.auth instead of runtime?.auth, consistent with the schema migration.


181-185: LGTM! Auth properly relocated to HTTP block.

Auth is correctly extracted from brunoRequest?.auth and assigned to http.auth, following the same clean pattern as other protocol converters.

packages/bruno-converters/src/opencollection/items/graphql.ts (2)

66-66: LGTM! Auth source correctly updated.

Auth now correctly reads from graphql.auth instead of runtime.auth.


139-158: LGTM! Auth relocation and runtime construction properly updated.

Auth is correctly assigned to graphql.auth (lines 139-143), and the runtime construction condition (line 158) has been appropriately updated to exclude auth.

packages/bruno-filestore/src/formats/yml/items/parseWebsocketRequest.ts (2)

10-10: LGTM! Function signature correctly simplified.

The function signature has been appropriately updated from WebSocketRequestWithSettings to WebSocketRequest, aligning with the removal of the intermediate type.


18-18: LGTM! Auth source correctly updated.

Auth now correctly reads from websocket?.auth instead of runtime?.auth, consistent with the schema migration across all parsers.

packages/bruno-filestore/src/formats/yml/items/stringifyGrpcRequest.ts (2)

88-92: LGTM! Auth correctly assigned to gRPC block.

Auth is properly extracted from brunoRequest.auth and assigned to grpc.auth, completing the auth migration pattern for gRPC requests.


96-123: LGTM! Runtime construction correctly excludes auth.

The runtime block construction properly excludes auth handling, as auth has been moved to the protocol-specific grpc.auth field. The runtime now only handles variables, scripts, and assertions. Backward compatibility for existing collections with runtime.auth is maintained in parseItem.ts, which migrates the legacy runtime.auth to protocol-specific auth fields (lines 46-50 for grpc).

packages/bruno-filestore/src/formats/yml/items/stringifyHttpRequest.ts (1)

63-67: Auth relocation implemented correctly.

The auth serialization has been properly moved from the runtime block to the HTTP-specific block, aligning with the OpenCollection schema v0.6.0 update. The implementation safely handles optional auth using the helper function and conditional assignment.

packages/bruno-filestore/src/formats/yml/items/stringifyWebsocketRequest.ts (1)

62-66: Auth relocation implemented correctly for WebSocket.

The auth serialization follows the same safe pattern as HTTP and GraphQL, properly moving auth from the runtime block to the websocket-specific block.

packages/bruno-filestore/src/formats/yml/items/stringifyGraphQLRequest.ts (1)

76-80: Auth relocation implemented correctly with clear documentation.

The auth serialization has been properly moved to the GraphQL-specific block. The inline comment clearly documents the change from the previous runtime-based approach.

packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts (1)

23-23: Auth parsing correctly updated for GraphQL.

The auth source has been properly changed from runtime?.auth to graphql?.auth, which correctly aligns with the corresponding stringify changes and the new schema structure. Verification confirms that all protocol-specific parsers (HTTP, WebSocket, GRPC) follow the same pattern, reading auth from their respective protocol blocks rather than from runtime?.auth.

Comment thread packages/bruno-filestore/src/formats/yml/parseItem.ts
@github-actions

github-actions Bot commented Jan 1, 2026

Copy link
Copy Markdown

CLI Test Results

  1 files  ±0  140 suites  ±0   49s ⏱️ +2s
235 tests ±0  235 ✅ ±0  0 💤 ±0  0 ❌ ±0 
301 runs  ±0  300 ✅ ±0  1 💤 ±0  0 ❌ ±0 

Results for commit 2fbb33b. ± Comparison against base commit f611c05.

@helloanoop
helloanoop merged commit ec40d7f into main Jan 1, 2026
15 checks passed
bijin-bruno added a commit that referenced this pull request Feb 13, 2026
* fix: use themes within protobuf section (#6575)

* fix: use themes within protobuf section

* chore: fix font weight for protobuf settings

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: radios buttons to use primary color (#6576)

* fix: cookie modal theme (#6580)

* fix: cookie modal theme

* update toggle switch to use primary color

* style: enhance theme dropdown and security settings with improved styles and active indicators (#6582)

* style: enhance CodeMirror dropdown styles with theme integration  (#6577)

* style: enhance CodeMirror dropdown styles with theme integration for improved consistency

* style: refine dropdown and CodeMirror hint styles for improved consistency and usability

* style: clean up scrollbar and CodeMirror hint styles for improved readability

* remove max height for keybinding table (#6586)

* fix: Add New Request CTA alignment in tabs (#6584)

* fix: Add New Request CTA alignment in tabs
- Moved the '+' icon before the chevron to maintain alignment once chevrons appear
- Added padding to the '+' icon for better spacing.

* refactor: streamline New Request button rendering in RequestTabs component

- Simplified the rendering logic for the New Request button by removing unnecessary conditional wrappers.
- Ensured the button remains functional and maintains its styling within the tab layout.

* chore: update delete confirmation modals to use danger button color (#6589)

* refactor: remove size prop from Button components for consistency across modals and improve styling

* style: update confirm button colors in modal components for consistency

* fix: oauth2 callback url field placeholder text update (#6588)

* Fix auth panel UI updates (#6590)

* style: update padding and font size in OAuth2 and Table components for improved consistency

* style: update font styles in OAuth2 components for improved readability

* fix: add missing semicolon in StyledWrapper.js for consistent styling

* fix: standardize table border colors and improve table styling (#6597)

* style: update OAuth2 section labels for improved consistency and readability (#6598)

* fix: prefrence modal width (#6595)

* fix: theme within grpc timeline (#6581)

* fix: theme within grpc timeline

* fix: use font from the theme

* remove y padding to make timeline item more compact

* fix: font

* fix: padding

* fix: use fira code

* fix: icon spacing

* add border to the method  search

* show bg for message section within request

* fix: collection already opened in other workspace (#6574)

* fix: collection already opened in other workspace

* fix

* fixes

* Merge pull request #6583 from naman-bruno/add/collection-docs

add: collection-docs

* add: beta tag for opencollection & fix create collection location behaviour (#6594)

* add: beta tag for opencollection

* fixes

* fix

* feat: improved dark mode color (#6616)

* fix: resolve request pane tooltip visibility issue (#6615)

* Feat/update file picker (#6614)

* styling: file-picker editor component

* use filepicker component within filebody and response example filebody

* edit example to use button components

* fix: hide delete, disable checkbox in preview mode

* make label italic

* chore: change example cta buttons to filled style

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder docs save button visibility issue (#6617)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences (#6606)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences

- Introduced helper functions to determine effective theme and apply it to the root element.
- Updated theme application logic to respond to system theme changes more efficiently.
- Simplified theme computation to avoid race conditions by directly using storedTheme.

* fix: update displayedTheme initialization in ThemeProvider to use storedTheme for consistency

* fix: use theme styling within timeline (#6604)

* fix: use theme styling within timeline

* fix: remove inline styling and use css classes

* fix: network logs within dev tools

* compact timeline for grpc

* refactor: standardize CSS class naming in StyledWrapper components for better readability

* remove styling configuration from Network component

* fix: update colors

* update colors

* fix: color

* feat: improve RunnerResults filter bar to use theme system (#6613)

* feat: integrate theme support in RunnerResults component for improved styling

* refactor: simplify RunnerResults component and enhance filter button styling

* style: adjust padding in StyledWrapper and remove aria-pressed from FilterButton

* add: global env and workspace flag (#6534)

* add: global env and workspace flag

* rm: await

* update: option name

* fix

* fix

* fix: invalid collection in workspace (#6612)

* fix: update Notifications and StatusBar components for improved functionality and styling (#6607)

* feat: use theme colors for Console method badges (#6603)

* feat: use theme colors for Console method badges

* chore(theme): bruno devtools UX updates

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: update @opencollection/types to version 0.6.0 and refactor auth handling in request items (#6619)

* feat: enhance HttpMethodSelector to include caret indicator when creating new request (#6620)

---------

Co-authored-by: sanish chirayath <sanish@usebruno.com>
Co-authored-by: Abhishek S Lal <abhishek@usebruno.com>
Co-authored-by: Pooja <pooja@usebruno.com>
Co-authored-by: Chirag Chandrashekhar <chirag@usebruno.com>
Co-authored-by: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com>
Co-authored-by: lohit <lohit@usebruno.com>
Co-authored-by: gopu-bruno <gopu@usebruno.com>
Co-authored-by: naman-bruno <naman@usebruno.com>
Co-authored-by: Anoop M D <anoop@usebruno.com>
bijin-bruno added a commit that referenced this pull request Feb 13, 2026
* fix: use themes within protobuf section (#6575)

* fix: use themes within protobuf section

* chore: fix font weight for protobuf settings

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: radios buttons to use primary color (#6576)

* fix: cookie modal theme (#6580)

* fix: cookie modal theme

* update toggle switch to use primary color

* style: enhance theme dropdown and security settings with improved styles and active indicators (#6582)

* style: enhance CodeMirror dropdown styles with theme integration  (#6577)

* style: enhance CodeMirror dropdown styles with theme integration for improved consistency

* style: refine dropdown and CodeMirror hint styles for improved consistency and usability

* style: clean up scrollbar and CodeMirror hint styles for improved readability

* remove max height for keybinding table (#6586)

* fix: Add New Request CTA alignment in tabs (#6584)

* fix: Add New Request CTA alignment in tabs
- Moved the '+' icon before the chevron to maintain alignment once chevrons appear
- Added padding to the '+' icon for better spacing.

* refactor: streamline New Request button rendering in RequestTabs component

- Simplified the rendering logic for the New Request button by removing unnecessary conditional wrappers.
- Ensured the button remains functional and maintains its styling within the tab layout.

* chore: update delete confirmation modals to use danger button color (#6589)

* refactor: remove size prop from Button components for consistency across modals and improve styling

* style: update confirm button colors in modal components for consistency

* fix: oauth2 callback url field placeholder text update (#6588)

* Fix auth panel UI updates (#6590)

* style: update padding and font size in OAuth2 and Table components for improved consistency

* style: update font styles in OAuth2 components for improved readability

* fix: add missing semicolon in StyledWrapper.js for consistent styling

* fix: standardize table border colors and improve table styling (#6597)

* style: update OAuth2 section labels for improved consistency and readability (#6598)

* fix: prefrence modal width (#6595)

* fix: theme within grpc timeline (#6581)

* fix: theme within grpc timeline

* fix: use font from the theme

* remove y padding to make timeline item more compact

* fix: font

* fix: padding

* fix: use fira code

* fix: icon spacing

* add border to the method  search

* show bg for message section within request

* fix: collection already opened in other workspace (#6574)

* fix: collection already opened in other workspace

* fix

* fixes

* Merge pull request #6583 from naman-bruno/add/collection-docs

add: collection-docs

* add: beta tag for opencollection & fix create collection location behaviour (#6594)

* add: beta tag for opencollection

* fixes

* fix

* feat: improved dark mode color (#6616)

* fix: resolve request pane tooltip visibility issue (#6615)

* Feat/update file picker (#6614)

* styling: file-picker editor component

* use filepicker component within filebody and response example filebody

* edit example to use button components

* fix: hide delete, disable checkbox in preview mode

* make label italic

* chore: change example cta buttons to filled style

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder docs save button visibility issue (#6617)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences (#6606)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences

- Introduced helper functions to determine effective theme and apply it to the root element.
- Updated theme application logic to respond to system theme changes more efficiently.
- Simplified theme computation to avoid race conditions by directly using storedTheme.

* fix: update displayedTheme initialization in ThemeProvider to use storedTheme for consistency

* fix: use theme styling within timeline (#6604)

* fix: use theme styling within timeline

* fix: remove inline styling and use css classes

* fix: network logs within dev tools

* compact timeline for grpc

* refactor: standardize CSS class naming in StyledWrapper components for better readability

* remove styling configuration from Network component

* fix: update colors

* update colors

* fix: color

* feat: improve RunnerResults filter bar to use theme system (#6613)

* feat: integrate theme support in RunnerResults component for improved styling

* refactor: simplify RunnerResults component and enhance filter button styling

* style: adjust padding in StyledWrapper and remove aria-pressed from FilterButton

* add: global env and workspace flag (#6534)

* add: global env and workspace flag

* rm: await

* update: option name

* fix

* fix

* fix: invalid collection in workspace (#6612)

* fix: update Notifications and StatusBar components for improved functionality and styling (#6607)

* feat: use theme colors for Console method badges (#6603)

* feat: use theme colors for Console method badges

* chore(theme): bruno devtools UX updates

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: update @opencollection/types to version 0.6.0 and refactor auth handling in request items (#6619)

* feat: enhance HttpMethodSelector to include caret indicator when creating new request (#6620)

* feat(theme): update secondary button styles (#6621)

* feat: update toast UI to match theme (#6622)

* Improve delete collection in workspace overview (#6587)

* Improve delete collection in workspace overview

* fixes

* Feat/v3 UI updates (#6618)

* style: enhance button layout and input styles across multiple components for improved UI consistency

* style: update RequestsNotLoaded component with new warning styles and enhance theme color definitions for status indicators

* refactor: update theme usage across components for consistency

- Changed color references from theme.brand to theme.primary.text in various StyledWrapper components.
- Added hover effects to enhance UI interactivity in CollectionSettings and FolderSettings.
- Removed unnecessary margin and padding adjustments in several components for cleaner layout.
- Improved accessibility by ensuring aria attributes are correctly set in MenuDropdown.
- Standardized styling for method indicators in RequestPane components.

These changes aim to create a more cohesive look and feel across the application while adhering to the updated theme guidelines.

* refactor: clean up method selector styling in NewRequest component

* chore: temp playwright test fixes

* refactor: update modal sizes across various components for consistency

- Changed modal size from "sm" to "md" in RenameWorkspace, CreateApiSpec, CloneCollection, DeleteCollectionItem, and RenameCollection components.
- Improved styling in HttpMethodSelector by adding padding for better layout.
- Updated theme color references in multiple theme files to use a new palette structure for consistency and maintainability.

* refactor: enhance styling and theme integration in TimelineItem components

- Updated HttpMethodSelector to clarify padding calculation in comments.
- Integrated theme colors for OAuth2 indicator and timestamp in TimelineItem for better visual consistency.
- Adjusted Method component to use uppercase styling for method display.
- Modified RelativeTime component to apply muted text color for improved readability.
- Updated INFO color in dark and light themes for better contrast and accessibility.

* refactor: remove duplicate import statements in theme files

- Cleaned up import statements in vscode.js and light-pastel.js by removing redundant lines for improved code clarity and maintainability.

* refactor: improve styling and theme integration in various components

- Added accent color and cursor style for checkbox inputs in Modal's StyledWrapper.
- Updated border-radius values in HttpMethodSelector and NewRequest StyledWrapper components to use theme variables for consistency.
- Introduced a new textbox class in NewRequest StyledWrapper for better styling control.
- Changed modal size from "sm" to "md" in CreateEnvironment for improved layout.

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix(UX): fix sandbox selector options background color (#6626)

* update cdn links (#6628)

* fix: toggle switch color (#6627)

* fix: modal icon colors to match button colors (#6624)

* style: update warning icon color in RemoveCollection and ConfirmSwitchEnv components to use theme colors

* fix: font size in BulkEditor

* style: update error message styling to use theme colors in QueryResult component

* style: update warning icon color

* style: update warning color in ConfirmSwitchEnv

* chore: minor pr comment

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder settings var panel table alignment (#6631)

* style: remove font size class from button (#6630)

* fix: authmode in graphql (#6636)

* fix: file picker component overflow (#6635)

* fix: tooltip styling (#6632)

* refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency (#6629)

* refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency

* refactor: update modal size in ImportCollectionLocation component for improved consistency

* refactor: set isActiveTab prop in QueryResponse component and update active color in StyledWrapper for consistency

* feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components (#6623)

* feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components

* refactor: remove duplicate "Rename" item push in CollectionItem component

* style: update text color classes and button hover effects in RunnerResults (#6637)

* style: update text color classes and button hover effects in RunnerResults and StyledWrapper components

* Update StyledWrapper.jsx

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* style: update variable validation colors in StyledWrapper components to use theme colors (#6633)

---------

Co-authored-by: sanish chirayath <sanish@usebruno.com>
Co-authored-by: Abhishek S Lal <abhishek@usebruno.com>
Co-authored-by: Pooja <pooja@usebruno.com>
Co-authored-by: Chirag Chandrashekhar <chirag@usebruno.com>
Co-authored-by: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com>
Co-authored-by: lohit <lohit@usebruno.com>
Co-authored-by: gopu-bruno <gopu@usebruno.com>
Co-authored-by: naman-bruno <naman@usebruno.com>
Co-authored-by: Anoop M D <anoop@usebruno.com>
bijin-bruno added a commit that referenced this pull request Feb 13, 2026
* fix: use themes within protobuf section (#6575)

* fix: use themes within protobuf section

* chore: fix font weight for protobuf settings

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: radios buttons to use primary color (#6576)

* fix: cookie modal theme (#6580)

* fix: cookie modal theme

* update toggle switch to use primary color

* style: enhance theme dropdown and security settings with improved styles and active indicators (#6582)

* style: enhance CodeMirror dropdown styles with theme integration  (#6577)

* style: enhance CodeMirror dropdown styles with theme integration for improved consistency

* style: refine dropdown and CodeMirror hint styles for improved consistency and usability

* style: clean up scrollbar and CodeMirror hint styles for improved readability

* remove max height for keybinding table (#6586)

* fix: Add New Request CTA alignment in tabs (#6584)

* fix: Add New Request CTA alignment in tabs
- Moved the '+' icon before the chevron to maintain alignment once chevrons appear
- Added padding to the '+' icon for better spacing.

* refactor: streamline New Request button rendering in RequestTabs component

- Simplified the rendering logic for the New Request button by removing unnecessary conditional wrappers.
- Ensured the button remains functional and maintains its styling within the tab layout.

* chore: update delete confirmation modals to use danger button color (#6589)

* refactor: remove size prop from Button components for consistency across modals and improve styling

* style: update confirm button colors in modal components for consistency

* fix: oauth2 callback url field placeholder text update (#6588)

* Fix auth panel UI updates (#6590)

* style: update padding and font size in OAuth2 and Table components for improved consistency

* style: update font styles in OAuth2 components for improved readability

* fix: add missing semicolon in StyledWrapper.js for consistent styling

* fix: standardize table border colors and improve table styling (#6597)

* style: update OAuth2 section labels for improved consistency and readability (#6598)

* fix: prefrence modal width (#6595)

* fix: theme within grpc timeline (#6581)

* fix: theme within grpc timeline

* fix: use font from the theme

* remove y padding to make timeline item more compact

* fix: font

* fix: padding

* fix: use fira code

* fix: icon spacing

* add border to the method  search

* show bg for message section within request

* fix: collection already opened in other workspace (#6574)

* fix: collection already opened in other workspace

* fix

* fixes

* Merge pull request #6583 from naman-bruno/add/collection-docs

add: collection-docs

* add: beta tag for opencollection & fix create collection location behaviour (#6594)

* add: beta tag for opencollection

* fixes

* fix

* feat: improved dark mode color (#6616)

* fix: resolve request pane tooltip visibility issue (#6615)

* Feat/update file picker (#6614)

* styling: file-picker editor component

* use filepicker component within filebody and response example filebody

* edit example to use button components

* fix: hide delete, disable checkbox in preview mode

* make label italic

* chore: change example cta buttons to filled style

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder docs save button visibility issue (#6617)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences (#6606)

* refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences

- Introduced helper functions to determine effective theme and apply it to the root element.
- Updated theme application logic to respond to system theme changes more efficiently.
- Simplified theme computation to avoid race conditions by directly using storedTheme.

* fix: update displayedTheme initialization in ThemeProvider to use storedTheme for consistency

* fix: use theme styling within timeline (#6604)

* fix: use theme styling within timeline

* fix: remove inline styling and use css classes

* fix: network logs within dev tools

* compact timeline for grpc

* refactor: standardize CSS class naming in StyledWrapper components for better readability

* remove styling configuration from Network component

* fix: update colors

* update colors

* fix: color

* feat: improve RunnerResults filter bar to use theme system (#6613)

* feat: integrate theme support in RunnerResults component for improved styling

* refactor: simplify RunnerResults component and enhance filter button styling

* style: adjust padding in StyledWrapper and remove aria-pressed from FilterButton

* add: global env and workspace flag (#6534)

* add: global env and workspace flag

* rm: await

* update: option name

* fix

* fix

* fix: invalid collection in workspace (#6612)

* fix: update Notifications and StatusBar components for improved functionality and styling (#6607)

* feat: use theme colors for Console method badges (#6603)

* feat: use theme colors for Console method badges

* chore(theme): bruno devtools UX updates

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: update @opencollection/types to version 0.6.0 and refactor auth handling in request items (#6619)

* feat: enhance HttpMethodSelector to include caret indicator when creating new request (#6620)

* feat(theme): update secondary button styles (#6621)

* feat: update toast UI to match theme (#6622)

* Improve delete collection in workspace overview (#6587)

* Improve delete collection in workspace overview

* fixes

* Feat/v3 UI updates (#6618)

* style: enhance button layout and input styles across multiple components for improved UI consistency

* style: update RequestsNotLoaded component with new warning styles and enhance theme color definitions for status indicators

* refactor: update theme usage across components for consistency

- Changed color references from theme.brand to theme.primary.text in various StyledWrapper components.
- Added hover effects to enhance UI interactivity in CollectionSettings and FolderSettings.
- Removed unnecessary margin and padding adjustments in several components for cleaner layout.
- Improved accessibility by ensuring aria attributes are correctly set in MenuDropdown.
- Standardized styling for method indicators in RequestPane components.

These changes aim to create a more cohesive look and feel across the application while adhering to the updated theme guidelines.

* refactor: clean up method selector styling in NewRequest component

* chore: temp playwright test fixes

* refactor: update modal sizes across various components for consistency

- Changed modal size from "sm" to "md" in RenameWorkspace, CreateApiSpec, CloneCollection, DeleteCollectionItem, and RenameCollection components.
- Improved styling in HttpMethodSelector by adding padding for better layout.
- Updated theme color references in multiple theme files to use a new palette structure for consistency and maintainability.

* refactor: enhance styling and theme integration in TimelineItem components

- Updated HttpMethodSelector to clarify padding calculation in comments.
- Integrated theme colors for OAuth2 indicator and timestamp in TimelineItem for better visual consistency.
- Adjusted Method component to use uppercase styling for method display.
- Modified RelativeTime component to apply muted text color for improved readability.
- Updated INFO color in dark and light themes for better contrast and accessibility.

* refactor: remove duplicate import statements in theme files

- Cleaned up import statements in vscode.js and light-pastel.js by removing redundant lines for improved code clarity and maintainability.

* refactor: improve styling and theme integration in various components

- Added accent color and cursor style for checkbox inputs in Modal's StyledWrapper.
- Updated border-radius values in HttpMethodSelector and NewRequest StyledWrapper components to use theme variables for consistency.
- Introduced a new textbox class in NewRequest StyledWrapper for better styling control.
- Changed modal size from "sm" to "md" in CreateEnvironment for improved layout.

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix(UX): fix sandbox selector options background color (#6626)

* update cdn links (#6628)

* fix: toggle switch color (#6627)

* fix: modal icon colors to match button colors (#6624)

* style: update warning icon color in RemoveCollection and ConfirmSwitchEnv components to use theme colors

* fix: font size in BulkEditor

* style: update error message styling to use theme colors in QueryResult component

* style: update warning icon color

* style: update warning color in ConfirmSwitchEnv

* chore: minor pr comment

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* fix: folder settings var panel table alignment (#6631)

* style: remove font size class from button (#6630)

* fix: authmode in graphql (#6636)

* fix: file picker component overflow (#6635)

* fix: tooltip styling (#6632)

* refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency (#6629)

* refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency

* refactor: update modal size in ImportCollectionLocation component for improved consistency

* refactor: set isActiveTab prop in QueryResponse component and update active color in StyledWrapper for consistency

* feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components (#6623)

* feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components

* refactor: remove duplicate "Rename" item push in CollectionItem component

* style: update text color classes and button hover effects in RunnerResults (#6637)

* style: update text color classes and button hover effects in RunnerResults and StyledWrapper components

* Update StyledWrapper.jsx

---------

Co-authored-by: Bijin A B <bijin@usebruno.com>

* style: update variable validation colors in StyledWrapper components to use theme colors (#6633)

* refactor: update Tabs component structure and theme colors (#6638)

- Replaced the div wrapper in the Tabs component with StyledWrapper for improved styling.
- Simplified TabsList and TabsTrigger components by removing theme dependency and using classnames for styling.
- Updated inactive background colors in multiple theme files to enhance visual consistency across themes.

* feat: integrate theme support in ImportCollection component (#6639)

* feat: integrate theme support in ImportCollection component for improved styling consistency

* chore: remove debug console log from ImportCollection component

* refactor: update theme import in ImportCollection component for improved consistency

* style: enhance syntax highlighting in GQL Docs and Doc Gen (#6640)

* style: enhance syntax highlighting and theme integration in QueryEditor and GenerateDocs components

* fix: fixed generate code theming issues

* style: update color references to use theme.draftColor for unsaved changes across multiple components (#6641)

* chore: theme updates (#6642)

---------

Co-authored-by: sanish chirayath <sanish@usebruno.com>
Co-authored-by: Abhishek S Lal <abhishek@usebruno.com>
Co-authored-by: Pooja <pooja@usebruno.com>
Co-authored-by: Chirag Chandrashekhar <chirag@usebruno.com>
Co-authored-by: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com>
Co-authored-by: lohit <lohit@usebruno.com>
Co-authored-by: gopu-bruno <gopu@usebruno.com>
Co-authored-by: naman-bruno <naman@usebruno.com>
Co-authored-by: Anoop M D <anoop@usebruno.com>
maxenceleblanc pushed a commit to maxenceleblanc/curly_cats2 that referenced this pull request Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants