* 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>
* 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
* Fix the bug that self-hosted mock server URL can not be edited when creating a new mock server within a local project
* Fix type checks
* Add field validation to self-hosted mock url field