* associate environment to a color
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
use StyledWrapper
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
don't save anything for color if it is not set
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
use redux store instead of local state
remove logs
fix selectedEnvironment
cleanup
add bottom border on active tab
* associate environment to a color
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
* move dependency to appropriate package.json
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
* use border instead of background color
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
* simplify onColorChange
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
* add black, keep backgound on unselected color
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
* fix conflicts
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
* associate environment to a color
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
use StyledWrapper
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
don't save anything for color if it is not set
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
use redux store instead of local state
remove logs
fix selectedEnvironment
cleanup
add bottom border on active tab
# Conflicts:
# packages/bruno-app/src/components/Environments/EnvironmentSelector/StyledWrapper.js
# packages/bruno-app/src/components/Environments/EnvironmentSelector/index.js
# packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/index.js
# packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/index.js
# packages/bruno-app/src/components/Environments/EnvironmentSettings/index.js
# packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js
* Update packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentColor/index.js
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* unused selectedEnvironment prop in EnvironmentList
Signed-off-by: Mathieu D <mathieu.dreano@decathlon.com>
* RequestTab, avoid unnecessary call if undefined activeCollection
Signed-off-by: Mathieu D <mathieu.dreano@decathlon.com>
* use @uiw/reac-color instead of react-color
Signed-off-by: Mathieu D <mathieu.dreano@decathlon.com>
---------
Signed-off-by: mathieu <mathieu.dreano@gmail.com>
Signed-off-by: Mathieu D <mathieu.dreano@decathlon.com>
Co-authored-by: Mathieu D <mathieu.dreano@decathlon.com>
Co-authored-by: Anoop M D <anoop@usebruno.com>
Co-authored-by: Mathieu DREANO <122891400+mdreano@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat: add functionality to retrieve collection path from transient file requests in IPC module
* feat: implement transient directory handling in collection mounting process
* add action to store transient directory paths in Redux state
* update IPC handler to create and return a temporary directory for collections
* modify collection mount action to dispatch transient directory addition
* feat: add CreateTransientRequest component for managing transient requests
* implement CreateTransientRequest component to facilitate the creation of HTTP, GraphQL, gRPC, and WebSocket transient requests
* integrate the component into RequestTabs for user interaction
* update collection and request handling to differentiate between transient and non-transient requests
* enhance Redux actions to support transient request creation and management
* feat: enhance transient request handling and add temp directory watcher
* refactor Redux actions for HTTP, gRPC, and WebSocket requests to utilize a unified task queue for transient requests
* implement a new helper function to retrieve collection paths from temporary directory metadata
* add functionality to watch transient directories for file changes, excluding metadata.json
* integrate transient directory watcher into the collection mounting process
* feat: enhance transient request management with temp directory integration
* update generateTransientRequestName function to accept tempDirectory parameter for improved request naming
* modify CreateTransientRequest component to utilize tempDirectory for transient request creation
* adjust middleware to check for transient status based on tempDirectory
* implement transient file and directory identification in collections slice for better state management
* feat: add SaveTransientRequest component for managing transient requests
* implement SaveTransientRequest component to facilitate saving transient requests to selected folders
* create StyledWrapper for component styling
* introduce useCollectionFolderTree hook for managing folder navigation and state
* update Redux actions to handle saving requests from transient state
* feat: implement SaveTransientRequestContainer and enhance modal management
* add SaveTransientRequestContainer to manage multiple transient request modals
* refactor SaveTransientRequest component to utilize Redux for modal state management
* implement open and close actions for transient request modals in Redux slice
* update Bruno page to include SaveTransientRequestContainer for improved UI integration
* feat: enhance SaveTransientRequest component with new folder creation functionality
* add input for creating new folders within the SaveTransientRequest component
* implement validation for new folder names and filesystem names
* integrate folder creation logic with Redux actions for better state management
* update styling for new folder input elements in StyledWrapper
* improve modal behavior to reset state when opened
* feat: update CreateTransientRequest to utilize collection presets for request URLs
* Refactored CreateTransientRequest component to retrieve request URLs from collection presets.
* Enhanced request handling by dynamically setting request URLs based on the selected collection's configuration.
* refactor: clean up unused imports and adjust request handling in collections actions
* Removed unused imports from actions.js to streamline the code.
* Updated the saveRequest function to reject the modal instead of resolving it when handling transient requests.
* Cleaned up comments in index.js for better clarity.
* refactor: streamline transient request handling and improve save functionality
* Removed success toast notifications from CreateTransientRequest component to simplify user feedback.
* Enhanced SaveTransientRequest component to handle transient requests more effectively, including improved filename resolution and validation.
* Added IPC handler for saving transient requests, ensuring proper file management and error handling.
* Updated Redux actions to check for duplicate transient request names within the temporary directory.
* feat: enhance request handling in ConfirmCollectionCloseDrafts component
* Added logic to differentiate between transient and non-transient drafts, ensuring transient requests are saved individually before closing the collection.
* Improved user feedback by displaying unsaved changes for both regular and transient requests.
* Updated save and discard functionality to handle all drafts appropriately, enhancing overall user experience.
* fix:fixed useCallback dependency array
* fix:added request name checks before save
* fix: added isTransient to files
* fix: added watcher cleanup for temp directory
* refactor: enhance transient request handling and optimize component logic
* Updated CreateTransientRequest to utilize useMemo for improved performance and prevent unnecessary re-renders.
* Refactored generateTransientRequestName to focus solely on transient requests, removing tempDirectory dependency.
* Streamlined SaveTransientRequest by consolidating form reset logic and removing unused state variables.
* Improved ConfirmCollectionCloseDrafts to differentiate between transient and non-transient drafts more effectively.
* Cleaned up imports and optimized Redux actions for better maintainability.
* feat: implement transient request file deletion on tab close
* Added middleware to handle the deletion of transient request files when tabs are closed.
* Enhanced collection-watcher to unlink temporary files, ensuring metadata.json is skipped and only request files are processed.
* Improved error handling for file deletion operations.
* feat: enhance autosave middleware to skip transient requests
* Updated autosave middleware to check for transient requests and skip auto-save operations accordingly.
* fix: update ConfirmCollectionCloseDrafts to display all transient drafts
* Modified the ConfirmCollectionCloseDrafts component to show all transient drafts without limiting the display to a maximum number.
* Removed the conditional message for additional drafts not shown, enhancing the user experience by providing complete visibility of transient requests.
* feat: enhance SaveTransientRequest component for better modal management
* Refactored SaveTransientRequest and its container to improve modal handling for unsaved transient requests.
* Introduced state management for opening specific modals and added functionality to discard all unsaved requests.
* Updated Redux actions to manage transient request modals more effectively, ensuring no duplicates are added.
* Enhanced user interface to display a list of unsaved requests with options to save or discard them.
* feat: improve modal management in SaveTransientRequestContainer
* Added useEffect to reset openItemUid when the corresponding modal is no longer present.
* Implemented functionality to close all tabs associated with transient requests and show a success message upon discarding them.
* Removed unnecessary modal close handler and streamlined modal opening logic for better clarity and performance.
* refactor: streamline code formatting and improve readability in collection actions
* Consolidated multiple lines of code into single lines for better readability in ConfirmCollectionCloseDrafts and actions.js.
* Enhanced consistency in the formatting of function parameters and return statements across the collections slice.
* Removed unnecessary line breaks and improved the structure of the code for easier maintenance.
* refactor: improve code readability and structure in middleware and actions
* Consolidated multiple lines of code into single lines for better readability in middleware.js and actions.js.
* Enhanced consistency in formatting function parameters and return statements across the collections slice.
* Removed unnecessary line breaks and improved the structure of the code for easier maintenance.
* Streamlined dispatch calls for better clarity and performance.
* refactor: enhance code readability and consistency in middleware and actions
* Improved formatting and structure in middleware.js for dispatch calls.
* Streamlined comments and indentation in actions.js for better clarity.
* Consolidated multiple lines into single lines where appropriate to enhance readability.
* refactor: enhance transient request handling and modal interactions
* Improved the modal handling logic for removing collections to differentiate between regular and drafts confirmation modals.
* Added new tests for creating and saving transient requests (HTTP, GraphQL, gRPC, WebSocket) ensuring they do not appear in the sidebar until saved.
* Introduced utility functions for creating transient requests and filling request URLs, improving code reusability and clarity.
* refactor: simplify transient request modal rendering and improve collection watcher logic
* Introduced a new TransientRequestModalsRenderer component to streamline modal rendering based on the number of transient requests.
* Refactored the collection watcher logic to enhance readability by removing unnecessary setTimeout and consolidating file handling functions.
* Improved error handling and logging for the temp directory watcher.
* fix: correct spelling of 'WebSocket' in transient request components and tests
* Updated the spelling of 'Websocket' to 'WebSocket' in CreateTransientRequest component, transient requests test, and action type definitions for consistency and accuracy.
* chore: update saveRequest calls from example to include silent parameter
- Modified multiple components to pass an additional `true` parameter to the `saveRequest` function, ensuring requests are saved silently when it comes to examples.
- Added AGENTS.md to .gitignore to exclude it from version control.
* feat: add success notifications for cloning, renaming and deleting examples
* refactor: update saveRequest calls to handle success notifications for renaming and deleting examples
* refactor: remove unused toast import from DeleteResponseExampleModal
refactor: improve snippet generation and update test cases
updated to minimise changes
fix: remove exclusive test flag
refactor: enhance interpolation utilities
refactor: expand interpolation utilities for auth, headers, body, and params
refactor: simplify request handling in snippet generation by removing lodash dependency and clarifying auth header processing
fix: tests
refactor: integrate interpolateObject utility for enhanced interpolation across auth, headers, body, and params
refactor: streamline body interpolation by removing lodash dependency and returning updated body structure
refactor: enhance body interpolation logic and streamline auth header processing in snippet generation
refactor: simplify getAuthHeaders function by removing unnecessary parameters for improved clarity
refactor: replace interpolateObject with interpolate for body
* feat: enhance OAuth2 support in snippet generation
* Updated getAuthHeaders function to handle OAuth2 authentication, including token retrieval and placement.
* Added tests for OAuth2 scenarios, ensuring correct Authorization header generation and handling of edge cases.
* Improved error handling for access token retrieval from stored credentials.
* refactor: standardize comparison operators in getAuthHeaders function
* Updated comparison operators in the getAuthHeaders function to use strict equality (===) for improved consistency and reliability in credential checks.
* fix: correct block structure in OAuth2 case of getAuthHeaders function
* Added missing block structure for the 'oauth2' case in the getAuthHeaders function to ensure proper execution flow and maintain code clarity.
* feat: enhance OAuth2 credential retrieval in getAuthHeaders function
* Updated getAuthHeaders function to support retrieval of stored OAuth2 credentials based on collection and item context.
* Improved access token handling by checking for existing credentials before falling back to default values.
* Enhanced test coverage for OAuth2 scenarios to ensure accurate token management and error handling.
* fix: preserve tokenHeaderPrefix value in OAuth2 configuration
* Updated snippet-generator.spec.js to ensure that the tokenHeaderPrefix from OAuth2 configuration is preserved, allowing for empty string scenarios.
* Default to 'Bearer' only if the tokenHeaderPrefix is undefined, enhancing flexibility in token management.
* fix: ensure consistent formatting of authorization header in OAuth2 handling
* Updated getAuthHeaders function to always trim the final result of the authorization header for consistent formatting.
* Adjusted snippet-generator.spec.js to reflect the same trimming logic for the access token, enhancing test reliability.
* fix: clarify token placement handling in getAuthHeaders function
* Updated comments in the getAuthHeaders function to specify that when tokenPlacement is 'url', no auth headers are added, and that token placement in the URL/query params must be managed separately.
* fix: ensure safe handling of OAuth2 credentials in getAuthHeaders function
* Updated getAuthHeaders function to default to an empty array when accessing oauth2Credentials, preventing potential errors when no credentials are available.
Add `isSafeMode()` to Bru API that returns `true` in
case the runtime is a sandbox.
This allows for scripts to test for and handle whether
running in sandbox or not:
```javascript
if (bru.isSafeMode()) {
throw new Error('This script requires Developer mode')
}
```
Co-authored-by: Anoop M D <anoop@usebruno.com>
* fix: include auth in request data for GenerateCodeItem
* fix: conditionally include auth in request data for GenerateCodeItem
* fix: simplify auth inclusion in requestData
* fix: streamline auth assignment in requestData for GenerateCodeItem
* fix: clarify comments on auth resolution
* feat: enhance autosave middleware to support environment draft and folder auth drafts
* feat: extend autosave middleware to handle global and collection environment drafts
* feat: update authentication components to use unified updateAuth function
* refactor: rename updateAuth to updateFolderAuth for consistency in authentication components
* feat: add SVG support for HTML preview in response format handling
* feat: enhance content type detection by adding support for AVIF and SVG formats
* fix: exclude SVG from byte format type detection in response preview
* feat: add helper function to detect SVG content in response handling
* fix: ensure SVG content type detection is case insensitive and remove EPS detection
* fix: correct byte offset for AVIF content type detection in response handling
* fix: preserve workspace name casing in title bar (#6522)
* fix: improve workspace display name handling in title bar
---------
Co-authored-by: Uzairkazi695 <kaziuzair695@gmail.com>
* refactor: enhance WSRequestPane and WSResponsePane with ResponsiveTabs component
- Replaced custom tab implementation with ResponsiveTabs for better consistency and usability.
- Utilized useMemo and useCallback for performance optimizations in tab management.
- Cleaned up unused styles and improved error handling in both components.
- Updated StyledWrapper to remove legacy tab styles, streamlining the component structure.
* refactor: streamline authentication components and enhance WSRequestPane layout
- Removed unnecessary margin from StyledWrapper in ApiKeyAuth, BasicAuth, and BearerAuth components for a cleaner layout.
- Introduced a new right content area in WSRequestPane for better organization of authentication modes.
- Added a 'No Auth' view in WSAuth for improved user feedback when no authentication is selected.
- Cleaned up unused imports and optimized component structure for maintainability.
* fix: grpc import paths
* refactor: extract protobuf include directory logic into a separate function
* rm: comment
* fix: improve filtering of enabled import paths in protobuf configuration
* refactor: streamline import path handling in protobuf configuration
- Removed local state for activeTab and integrated Redux for tab state management.
- Added logic to retrieve and update the active tab using Redux store.
- Updated tab click handler to dispatch actions for tab changes.
* refactor: simplify HtmlPreview component by extracting render logic into a separate function
* refactor: wrap renderHtmlPreview in a fragment for improved JSX structure
* fix: update preview visibility check in response format tests