* fix: Issue with Parameters Passed in the URL(#2124)
The '=' should be allowed within query parameter value. While first equals sign separates parameter name from its value, any subsequent occurrences are valid and should not be discarded.
The '#' in URL always indicates the start of URI Fragment component, and should not be treated as part of any parameter value.
* chore: gracefully fail when URLSearchParams throws error
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat(#736): Switch tabs with keyboard shortcut
1. Registered keyboard events in Hotkeys/index.js
2. Added logic for replacing `state.activeTabUid` to switch active tab as per keyboard event.
3. Maintained a stack `recentUsedTabsStack` for tab visit history and pop out on `Ctrl+Tab` keyboard event.
* feat(#736): Switch tabs with keyboard shortcut
Keeping this feature request only limited to CTRL+PGUP and CTRL_PGDN button clicks functionality. Hence removing logic for CTRL+TAB click functionality.
* feat(#736): Switch tabs with keyboard shortcut
clean up
* feate(#827): Switch tabs with keyboard shortcut
* Implimented logic of cyclic traversal of tabs array with % opreator.
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* add font-size setting for code editor
* add code font size to remaining editors
* align font-size after font-family
* changed default font size to 14
* fixed className typo
* set inherit mode if unset
* add code font size schema validation
* add font size to folder settings
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* fix: Failed to construct 'URL': Invalid URL everytime the URL is modified
A non-parsable URL should be an acceptable state while the text is being typed.
* chore: path params are returned as empty
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* Changed display: contents to display: block to fix bug with text cutoff in multipart form and form url encoded request bodies.
* Changed display: contents to display: block to fix bug with text cutoff in multipart form and form url encoded request bodies.
* chore: self-host Inter
fixes https://github.com/usebruno/bruno/issues/695
* chore: fix package-lock to include fontsource
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* Feat/electron-bump - bump node version to match electron
* Feat/electron-bump - bump node version - documentation
* Feat/electron-bump - bump node version - package-lock.json
* typofix: Loc is required
* handle empty dirpath on import collection
* fix: collection import bug fix
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat: added close menus on the request tab
* feat: added close to the left button
* feat: added new request and clone request buttons
* chore: fix prettier
* fix: Handle ENOSPC error from chokidar
Now listens to the error event to check if "ENOSPC" occurrs.
The watcher will then automaticly restart in polling mode, so that
the user still sees his reqeusts / collections.
Fixes: https://github.com/usebruno/bruno/issues/1877
* Add more code comments, add !forcePolling to prevent endless loops and update error message
* fix: Also listen for EMFILE for too many watched files
* fix: Handle ENOSPC error from chokidar
Now listens to the error event to check if "ENOSPC" occurrs.
The watcher will then automaticly restart in polling mode, so that
the user still sees his reqeusts / collections.
Fixes: https://github.com/usebruno/bruno/issues/1877
* Add more code comments, add !forcePolling to prevent endless loops and update error message
* fix: extract variables and headers from the provided request
* fix: handling draft headers and vars
* fix: handling draft headers and vars
---------
Co-authored-by: Vincenzo De Petris <vincenzodepetris@gmail.it>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* mask support for SingleLineEditor
* add secret visibility toggle button
* move visibility toggle into SingleLineComponent
Co-authored-by: Liz MacLean <18120837+lizziemac@users.noreply.github.com>
* fix eye button focus state
* center enabled and secret toggle
* fix input field scales to 100% width
* Using a prvacy toggle for all sensitive auth details.
* Applied privacy toggle to Collection Auth settings.
---------
Co-authored-by: Max Bauer <krummbar@pm.me>
Co-authored-by: Liz MacLean <18120837+lizziemac@users.noreply.github.com>
- Adds a new key in the `bruno.json` under `scripts.flow`
- When concating post and tests scripts the flow will now be used
to determine to correct order
Fixes: #2648#2680#2597#2639
* pr review changes
* collection root object in export json
* import environment updates
* tests run execution order fix for collection runs
* updated validations
* accept request flag in curl string for method type
* electron version bump to v31.2.1
* pr review changes
* collection root object in export json
* import environment updates
* tests run execution order fix for collection runs
* headers schema update, export only required parts of request
* update auth in object spread
* docs not present in folder level settings
* docs not present in folder level settings
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* Removed headers key on folderRootSchema as it seems unlikely that headers are actually required here
* Removed launch.json
* Added back package-locks
* reverted package-lock
* removed only the .required
* feat(bulk-env-import): bulk import working like a charm
* feat(bulk-env-import): refresh no env dialog's styling
* feat(bulk-env-import): group create and import env within initial modal, UI improvements
* feat(bulk-env-import): minor styling fixes
* feat(bulk-env-import): handle incorrect files in env importer
---------
Co-authored-by: bpoulaindev <bpoulainpro@gmail.com>
* fix: Update CodeMirror mode to use combinedmode for SingleLineEditor. This will highlight the pathparams in the QueryUrl.
* Refactor: Updated url highlighting.
* refactor: Improved the hinting part.
* refactor: CodeEditor, MultiLineEditor, and QueryEditor to use defineCombinedCodeMirrorMode for highlighting Bruno variables instead of defineCodeMirrorBrunoVariablesMode
* refactor: Updated defineCombinedCodeMirrorMode to defineCodeMirrorCombinedVariablesMode. Now the pathparams at the end of the URL is also highlighted.
* refactor: Update CodeMirror mode to use defineCodeMirrorBrunoVariablesMode instead of defineCodeMirrorCombinedVariablesMode. Now the path params in the URL will be highlighted on application open.
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat: add recursive interpolate
fixes#2227
* test(bruno-common): fix test with 3 level of recursion
* fix(bruno-common): add ability to reference the same variable repeatedly
fix#2005
- display post request variable evaluation errors in a toast, each individual variable error on a new line
- display the response body (was previously replaced by the an error "Error invoking remote method 'send-http-request': ..."
This change moves informational command outputs from console.log (prints on stdout) to console.warn/console.error (prints on stderr)
to enable stdout processing in pipelines.
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* Check OAuth2 redirect URL for matching callback URL and authorization code in query parameters
In an Authorization code flow, there may be multiple intermediate redirects before reaching the final one which matches the callback URL and has a code in the query params.
We should wait until we see a redirect URI that matches both the conditions. This fixes the issue where, when a redirect contains `code` as a query param but is not the final one (i.e., is not to the callback URL) an error is thrown saying the callback URL is invalid.
Fixes#2147
* Add test cases for callback URL check
* Update check to cover URLs with same host but different endpoints
* feat: add support for state param
* chore: revert package-lock.json
* test: update tests with state param
* chore: revert package-lock.json
* chore: add state to missing places
* Adding state to PKCE toggle
---------
Co-authored-by: Kadam Dhananjay <kadamdhananjay@johndeere.com>
* feat: path parameters (#484)
* add path parameters on bruno-app
* add path parameters on bruno-cli
* fix bruno-schema testing
* fix generate request code not replace path parameter value
---------
Co-authored-by: game5413 <febryanph10@gmail.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat: Refactor request parameter handling
- Update prepare-request.js to filter and rename 'paths' to 'params' with type 'path'
- Remove 'paths' from export.js and interpolate-vars.js
- Update bru.js to use 'params' instead of 'path'
- Update requestSchema in index.js to use 'keyValueWithTypeSchema' for 'params'
Co-authored-by: game5413 <febryanph10@gmail.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat: Refactor request parameter handling
* refactor: changes form the review
* refactor: Refactor transformItemsInCollection handling
* refactor: Refactor improved export/import functionalities
* refactor: Remove console.log statement in bruToJson.js
---------
Co-authored-by: game5413 <37659721+game5413@users.noreply.github.com>
Co-authored-by: game5413 <febryanph10@gmail.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* fix(#1003): content type for client_credentials & password grant types
* feature(#1003): added client is & secret for password credentials grant type
* fix: filter out non-printable control character and ZWNBSP character
* fix: filter out non-printable control character and ZWNBSP character
* remove ZWNBSP character from response body
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* fix(#1003): content type for client_credentials & password grant types
* feature(#1003): added client is & secret for password credentials grant type
* fix: filter out non-printable control character and ZWNBSP character
* fix: filter out non-printable control character and ZWNBSP character
* Now added the ability to import and export js values. changes made in item schema.
* Improvements upon review
* Fixes.
* refactor: removed the copyRequest function and wrote the logic directly inside the copyItems function.
* refactor: Update getBrunoJsonConfig function to remove unnecessary parameter
* refactor: Update getBrunoJsonConfig function to remove unnecessary parameter and handle auth object dynamically
* refactor: Update OAuth2 grantType handling in transformCollectionToSaveToExportAsFile function
* refactor: Update getBrunoJsonConfig function to remove unnecessary async