* refactor: route fs backed cleanup (#9806)
* refactor: shared browser safe helper cleanup (#9810)
* refactor: shared browser-safe helper cleanup
* style: run eslint autofix
* fix: preserve empty url handling
* fix: address remaining copilot comments on pr3
* remove loader class
* fix: unhandledrejection error (#9774)
* fix: resolve sentry promise error (#9786)
* fix: resolve sentry promise error
* fix: leave fallback when error
* fix: improve credential validation handling in GitRepoForm to avoid a loop of re-loading the list of repos and branches (#9820)
* add e2e and cli skills (#9818)
* add e2e and cli skills
* address feedback
* address feedback
* move to claude
* feat: konnect integration proxy url and regex support (#9811)
* chore: move konnect sync behind feature flag (#9832)
* chore: isolate gRPC proto file preparation behind IPC boundary (#9828)
* chore: isolate gRPC proto file preparation behind IPC boundary
Move proto temp-file creation out of the renderer by adding a
grpc.writeProtoFile IPC handler (main process) and wiring it up
in the preload bridge. The renderer's ProtoFilesModal previously
called writeProtoFile() directly, pulling node:fs / node:os /
node:path into the renderer bundle. It now calls
window.main.grpc.writeProtoFile(protoFile._id) instead.
Changes:
- src/main/ipc/electron.ts: add 'grpc.writeProtoFile' to HandleChannels
- src/main/ipc/grpc.ts: export writeProtoFileById helper, add to
gRPCBridgeAPI, register ipcMainHandle('grpc.writeProtoFile')
- src/entry.preload.ts: wire grpc.writeProtoFile via ipcRenderer.invoke
- src/ui/components/modals/proto-files-modal.tsx: remove direct
write-proto-file import; use window.main.grpc.writeProtoFile in
the directory-import validation loop
- config/renderer-node-import-baseline.json: remove 5 stale/resolved
baseline entries (proto-directory-loader.tsx x2 already gone;
write-proto-file.ts fs/os/path x3 now main-process-only)
- src/main/ipc/__tests__/grpc.test.ts: add writeProtoFileById unit
tests as contract coverage for the new privileged bridge path
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: validate proto syntax in writeProtoFileById IPC handler
The directory-import validation loop relied on writeProtoFile for proto
content validation, but writeProtoFile only writes the temp file without
parsing. Add a protoLoader.load call inside writeProtoFileById so invalid
proto syntax throws before the result is returned to the renderer.
Also update the test to mock @grpc/proto-loader.load and assert it is
called with the correct file path and includeDirs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: konnect integration strips nunjucks templates on sync (#9831)
* fix(Git Sync): auto-resolve non-YAML file conflicts to remote during merge (#9798)
* fix: filter conflict paths to include only YAML files
* fix: enhance conflict resolution by auto-resolving non-YAML files to theirs
* fix: keep buffer raw so that binary files are not corrupted
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: enhance merge conflict handling by introducing auto-resolved conflicts for non-YAML files
* fix: add test for handling merge conflicts, ensuring only YAML conflicts are returned
* fix: prevent HEAD update during auto-resolve of merge conflicts
* fix: enhance merge conflict resolution by auto-completing merges when all conflicts are non-YAML
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: konnect integration expressions support (#9830)
* Show more specific error when creating mock route fails (#9841)
* fix: insomnia-ai-plugin uses securedPath (INS-2244) (#9748)
* feat: add custom npm registry mirror setting for plugin installation (#9837)
* feat: default user-agent for cURL imports [INS-2416] (#9838)
* feat: default user-agent for cURL imports
* respect disableAppVersionUserAgent setting
* fix: view transition error - [INS-2316] (#9792)
* fix: view transition error
* fix
* change default behavior when delete cloud sync workspaces (#9844)
* feat: integrate v3 user endpoints (#9785)
* feat: integrate v3 user endpoints
* feat: use public sdk for insomnia-api
* chore: applied PoLP to workflows (#9840)
* chore: resolve GHA warning annotations and reduce CI time [INS-2312] (#9839)
* fix: resolves INS-2366 (#9852)
* fix: resolves INS-2366 dependency issues
* Refactor:use electron store for oauth session (#9851)
* move oauth session to electron storage
* create electron storage bridge
* use electronStorage bridge for managing oauth window handles
* fix build
* move key to constants
* tolerate changing userData folder path
* Update packages/insomnia/src/main/ipc/electron-storage.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* init store
* fix singleton class
* feedback
* feedback
* Update packages/insomnia/src/main/electron-storage.ts
Co-authored-by: aikido-pr-checks[bot] <169896070+aikido-pr-checks[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: aikido-pr-checks[bot] <169896070+aikido-pr-checks[bot]@users.noreply.github.com>
* chore: decouple releases (#9842)
* INS-2145 Decouple releases
* fix security error
* fix
* check version
* refactor: auth header to main (#9834)
* remove deprecated baseUrl
* add failing test
* fix AI playwright runs
* move getAuthHeader to main
* address feedback about dynamic import
* move oauth 1 + 2 flow to main
* handle bad cookie
* handle bad apikey
* fix imports
* block main process imports
* extract plugins
* fix vite config
* console log
* move init store
* Fix OAuth imports after rebase
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* clean up
* Revert config changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* clean up hawk
* use bridge
* update node require
* remove this
* define process type
* remove 14
* ignore reports folder
* fix e2e tests
* address feedback
* remove unused
* tidy constants
* feat: add getOAuth2Token IPC bridge
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix tests
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: Support pin and unpin websocket and socketio requests (#9865)
* support pin websocket and socketio requests
* feat(Git Sync): Add support for canonical repository output (#9789)
* initial support for canonical repo output (#9739)
* Feat/git repo output sync queue (#9790)
* feat: implement SyncQueue for serial async task processing
* refactor: enhance repo file watcher for improved sync and error handling
- Replace NeDB client with a unified disk client for all file operations.
- Introduce a serial queue to manage sync tasks and prevent race conditions.
- Implement content-hash deduplication to avoid unnecessary file imports.
- Add problem tracking for YAML files with conflicts or parse errors.
- Streamline watcher start/stop logic and improve notification handling.
- Ensure immediate DB→FS flush before git operations to maintain consistency.
- Enhance import logic to handle workspace deletions and renames effectively.
* refactor: simplify projectRoutableFSClient by removing unused parameters and consolidating logic
* feat: add git.db-synced event listener for revalidation in Root component
* feat: add button to open local repository folder in ProjectSettingsForm
* refactor: remove unused GitProjectNeDBClient
* refactor: update imports to use services for workspace and workspaceMeta
* refactor: update models usage to services in git repo migration and project settings form
* refactor: streamline file watcher initialization and import process
* feat: ensure immediate processing of pending debounced imports in RepoFileWatcher
* refactor: improve file rename handling in RepoFileWatcher to prevent data loss
* feat: enhance RepoFileWatcher to track last written hash and sync mtime for improved file management
* refactor: remove unused parameters from upsertDocs in RepoFileWatcher for cleaner code
* fix revalidator (#9826)
* fix: handle detached HEAD during rebase in getCurrentBranch method (#9843)
* fix: handle detached HEAD during rebase in getCurrentBranch method
* fix: add return type to getCurrentBranch method
* fix: refresh ui after sync (#9848)
* fix: (git cli)skip flush problematic files (#9846)
* fix: skip flush problematic files
* fix
* feat: (git cli)ux for invalide status (#9836)
* feat: ux for invalide status
* update ux
* fix
* fix
* add tab warning
* del log
* feat(Git Sync): Handle non-origin remotes (#9833)
* feat(git): detect non-origin branch tracking and guard sync operations
- Add getBranchTrackingRemote(), getRemoteUrl(), getBranchRemoteInfo() to GitVCS
- Add getBranchRemoteInfo IPC endpoint with BranchRemoteInfo interface
- Add assertBranchOnOrigin() guard to push, pull, fetch, commitAndPush
- canPushLoader returns { canPush: false } for non-origin branches
- Add unit tests for remote detection methods
* feat(git): add support for non-origin branch tracking and display warnings in UI
* Show local git repo path [INS-2315] (#9858)
* Update the style of local git folder path in project setting modal
* Add Git CLI tip in commit changes modal
* Repo Migration flow [INS-2256] (#9824)
* initial support for canonical repo output (#9739)
* feat: enhance git repository migration with concurrency guard and symlink handling
* feat: enhance git repository migration with config sanitization and file overwrite handling
* feat: implement repo migration version tracking and improve migration idempotency
* feat: add runAllGitRepoMigrations function and migration view for Git projects
Co-authored-by: Copilot <copilot@github.com>
* fix: reset initial migration status to 'default' in MigrationView component
* refactor: simplify MigrationView component and update navigation logic
* refactor: remove legacy directory structure migration from loadGitRepository function
* feat: enhance runAllGitRepoMigrations to return logs and improve error handling in MigrationView
* feat: update runAllGitRepoMigrations to return detailed logs and failed projects; enhance MigrationView to handle migration results
* feat: optimize runAllGitRepoMigrations by batch-fetching git repositories and improving project filtering
* feat: introduce CURRENT_MIGRATION_VERSION constant for migration tracking and update references in git-repo-migration and router
* feat: handle failed projects in runAllGitRepoMigrations by converting them to local projects
Co-authored-by: Copilot <copilot@github.com>
* feat: integrate CURRENT_MIGRATION_VERSION for migration tracking and update router logic to handle migration screen visibility
* feat: reorder import statements in ProjectSettingsForm for consistency
* feat: update MigrationStatus type and related logic for better error handling
* feat: enhance migration logging with detailed error stack and include CURRENT_MIGRATION_VERSION in logs
* feat: simplify migration logging messages for clarity and consistency
* feat: improve migration check logic to prioritize version stamp over disk layout
* feat: add tests for migrateRepoStructureIfNeeded function to ensure migration logic correctness
* feat: update migration logic to re-run when old git/ directory exists, ensuring correct migration handling
* test: update migration tests to ensure directory existence checks are accurate
* refactor: remove redundant useEffect for localStorage in Component
* feat: enhance path validation in runAllGitRepoMigrations to prevent path traversal vulnerabilities
* feat: enhance path handling in migration functions to prevent directory traversal vulnerabilities
* feat: enhance directory traversal protection in moveDirectoryContents function
---------
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
* fix: Delete old folders (#9867)
* refactor: remove unused migration version handling from localStorage
* fix: update directory removal logic to handle non-empty directories
---------
Co-authored-by: Curry Yang <163384738+CurryYangxx@users.noreply.github.com>
Co-authored-by: yaoweiprc <6896642+yaoweiprc@users.noreply.github.com>
Co-authored-by: Pavlos Koutoglou <pkoutoglou@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
* refactor: move sync code to main (#9827)
* move sync code to main
* improve sync tests
* update plan
* test: reset cloud sync smoke state
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* guard against bad test env
* fix skill
* remove new test
* udpate plan
* with proxy
* checkpoint
* move files
* autofix
* update plan
* make all sync bridge async
* fix window imports
* refactor: move main-only sync helpers
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix lint
* move chunkArray tests
* smaller interfaces
* move store under vcs
* move cloud-sync to main
* create a second vcs for pull operations
* added a invoke wrapper to remove error prefixes
* rebase error
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: update insomnia-plugin-ai (#9862)
* fix: bump node-libcurl and add ipv6 tests (#9869)
* feat: revamping pre/post scripting sandbox (#9794)
* feat: revamping pre/post scripting sandbox
* feat: added UI setting to enable/disable specific checks
* fix false positives
* revert
* fix: user can not resolve conflict in app (#9872)
* fix: conflict ux
* fix
* fix
* Git server for smoke test [INS-2258] (#9816)
* Git server for smoke test
* Try to solve flaky test
* feat: remove unused Git hook samples and add Credentials tab functionality
- Deleted various sample Git hook scripts from the git-server fixture, including post-update, pre-applypatch, pre-commit, pre-merge-commit, pre-push, pre-rebase, pre-receive, prepare-commit-msg, push-to-checkout, sendemail-validate, and update hooks.
- Introduced a new PreferencesCredentialsTab class to manage Git credentials within the Insomnia Preferences.
- Updated the PreferencesPage to include the new Credentials tab for Git credentials management.
- Enhanced the ProjectPage with a method to create a Git Sync project, including branch creation and switching.
- Added comprehensive tests for Git Sync functionality, including creating branches, committing changes, and merging branches.
- Updated UI components to support new features, including data-testid attributes for better testability.
Co-authored-by: Copilot <copilot@github.com>
* feat: update path import and add Git sync tests
* revert package.json
* Update package.json
* feat: add new dependencies for Git HTTP mock server and related utilities
* refactor: remove commented-out code in addAccessTokenGitCredential function
* fix: update export tests to use toHaveLength for file count assertions
---------
Co-authored-by: Copilot <copilot@github.com>
* feat: import deep-link login experience [INS-2416] (#9860)
* refactor: replace node:url with URL in cert and proxy match (#9515)
* refactor: import to main (#9809)
* squash
* re add comments
* fix process fork
* update base line 18 left
* revert
* check cert url without node
* fix handlerId
* exclude url matches cert host from scope
* fix rebase
* Fix style issue that file list in the middle of commit modal is collapsed [INS-2315] (#9875)
* Fix style issue that file list in the middle of commit modal is collapsed
* fix: update links to Git Sync documentation in staging modal and project settings form
* Chore: playwright dx v2 (#9876)
* Update E2E test for git sync [INS-2258] (#9878)
* Add more test cases for git sync
* tmp
* Update package.json
* feat: update migration image and urls (#9868)
* feat: update migration image and path for improved clarity
* feat: update error message and support links in migration view
* feat(Git Sync): Downgrade -> Upgrade path (#9882)
* feat: add mechanism to flush newer DB workspaces to disk during downgrade
* feat: implement effective Git repository ID handling for project connections
* feat: enhance Git repository ID handling for improved project queries and updates
* Chore: refine e2e docs by agent for agent (#9881)
* improve agent docs
* added error context note
* chore: Security update for dependencies and github workflows (#9884)
* chore: resolves INS-2457, INS-2458, INS-2459, and INS-2460.
* feat: include app version in window title [INS-2465] (#9888)
* feat(Git Sync): improve git migration onboarding UX and local file system access [INS-2462] (#9890)
* feat(Migration): enhance migration summary with total projects count and improve UI feedback
* fix(Migration): clarify update instructions and improve user messaging
* style(ManualCommitForm): adjust text sizes for improved readability
* style(StagingModal): adjust layout and spacing for improved UI consistency
* fix(ManualCommitForm): update clipboard text to include 'cd' command for easier navigation
* fix(ProjectSettingsForm): update repository path copy functionality and add option to open in file system
* fix(ManualCommitForm): enhance file system interaction with tooltips for better user guidance
* fix(ProjectSettingsForm): add tooltip for 'Open in file system' button to enhance user guidance
* fix(GitProjectSyncDropdown): add 'Open folder' action to sync dropdown for easier access to repository path
* fix(Component): display relative path of current issue in modal for better context
* fix(git-service): count only successfully migrated projects in totalProjects
* fix(project-settings-form): platform-aware shell quoting for cd command
* fix(git-project-staging-modal): platform-aware shell quoting for cd command
* fix(project-settings-form): update aria-label to reflect cd command clipboard content
* fix(git-project-staging-modal): update aria-label to reflect shell command clipboard content
* fix(ManualCommitForm): replace tooltip with dialog for enhanced information display
* fix(MigrationView): update migrated count calculation to reflect total projects
---------
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
* chore: normalize konnect api responses (#9895)
* feat(Git Sync): enhance migration view with best practices note and UI improvements (#9900)
* chore: comment out smctl credentials save in workflow (#9898)
the command is no longer executed while keeping it in place for future reference.
* feat: migrate model imports, base types, org model and helpers (#9802)
* fix
* fix vcsinstance
* fix type issues
---------
Co-authored-by: Jack Kavanagh <jackkav@gmail.com>
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
Co-authored-by: Shelby <13246465+shelby-moore@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: yaoweiprc <6896642+yaoweiprc@users.noreply.github.com>
Co-authored-by: kwburns-kong <kyle.burns@konghq.com>
Co-authored-by: jeremyjpj0916 <31913027+jeremyjpj0916@users.noreply.github.com>
Co-authored-by: Ryan Willis <ryan.willis@konghq.com>
Co-authored-by: Kent Wang <kent.wang@konghq.com>
Co-authored-by: Alison Sabuwala <alison.sabuwala1024@gmail.com>
Co-authored-by: aikido-pr-checks[bot] <169896070+aikido-pr-checks[bot]@users.noreply.github.com>
Co-authored-by: Jay Wu <jay.wu@konghq.com>
Co-authored-by: Pavlos Koutoglou <pkoutoglou@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Fares Osman <43153226+fiosman@users.noreply.github.com>
Co-authored-by: Bingbing <ZxBing0066@gmail.com>
Co-authored-by: Vivek Thuravupala <2700229+godfrzero@users.noreply.github.com>
add initial navigation side bar
add debug page collection list back
support drag sidebar width
hide org selector on scratchpad
support scratcpad
support kconnect
* feat: support drag & drop on the new sidebar (#9814)
---------
Co-authored-by: Bingbing <ZxBing0066@gmail.com>
* Validate the credentials
* Check credentials validation when user create a new project
* Modify the staging modal to validate the credentials
* Display a toast when users click on operations like push pull or fetch
* Rename gitRepoLoadErrors to credentialsValidationErrors for clarity
* Refactor imports in GitProjectStagingModal for consistency and clarity
* Update packages/insomnia/src/main/git-service.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update comment to clarify loading of credentials data in ProjectSettingsForm
* Refactor credentials loading logic in ProjectSettingsForm for clarity and efficiency
* Add validation for legacy git credentials in validateGitCredentials functions
* Fix conditional checks for credentialsValidationErrors in ProjectSettingsForm
* Update error messages in GitProjectSyncDropdown for clarity and consistency
* Update re-authentication text for consistency in GitOauthAuthBanner
* Refactor styling in GitOauthAuthBanner for improved layout and consistency
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Use wait-on to poll tcp:3334 so Electron only starts after the Vite
dev server is ready, preventing ERR_CONNECTION_REFUSED on startup.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: address faulty assumption leading to errors when xpath functions return non-string values
* chore: add tests to cement handling of non-string xpath function return values
* chore: condense inline comment for xpath filtering to remote unnecessary verbosity
* fix: port xpath fix to template tags as well
* chore: add tests to cover patched local-template-tags behavior
* chore: rearrange local-template-tags tests a tiny bit to make it easier to add future response tag tests
* test: add additional tests to cover non-scalar XPath filters
* refactor: modify makeResponseContext so it no longer assumes a JSON response
* Use json-bigint for parsing JSON in the response template tag [#8988]
Large numbers can lose precision when parsed using JSON.parse.
* Add unit tests to verify behavior of response template tag when handling large numbers [#8988]
* Add additional tests to cover floating point numbers
* Add inline documentation explaining usage of json-bigint + storeAsString
* Remove bespoke type definition for json-bigint; install existing one
* feat: enhance Git credentials modal behavior
- Added tracking for the currently edited credential version when the modal opens.
- Implemented auto-close functionality for the edit modal when the edited credential is updated.
* Remove extra functions
* Fix issue with close modal