Commit Graph

41 Commits

Author SHA1 Message Date
Jack Kavanagh
f36e1a8403 Remove heavyweight third-party imports: mime-types, tough-cookie, @grpc/grpc-js, node-forge (#9992)
* Add vault-crypto/mime utilities and remove heavyweight third-party imports

- Add AES-GCM vault-crypto utility with tests (replaces node-forge usage)
- Add common/mime.ts to replace mime-types package dependency
- Replace tough-cookie import in response-cookies-viewer with inline parser
- Replace @grpc/grpc-js status import in grpc-status-tag with inline constant
- Replace electron.ipcRenderer in auth.clear-vault-key with showToast()
- Remove unused analytics call from window-utils

* Expose env vars to renderer via contextBridge window.env

In the renderer process with nodeIntegration disabled, process.env is not
available. The preload script now explicitly whitelists the env vars the
renderer needs and exposes them as window.env via contextBridge.
constants.ts reads from window.env in the renderer and falls back to
process.env for the inso CLI and main process.

* Wire vault-crypto into callers; fix window.crypto for workers and Node

- key-value-editor and templating/utils now import encryptSecretValue/
  decryptSecretValue from vault-crypto instead of vault, so the new
  implementation is actually exercised
- Replace window.crypto with globalThis.crypto so vault-crypto works in
  Web Workers (self.crypto) and Node.js/inso (globalThis.crypto)

* Move httpsnippet to main process via IPC

Removes the dynamic import of httpsnippet from the renderer so it is
no longer bundled there. Prepares for nodeIntegration: false, as
httpsnippet's core requires Node built-ins (querystring, url) that
won't be available in the renderer without nodeIntegration.

* Fix impure Date.now() key on CodeEditor; use setValue via ref instead

Replace key={Date.now()} with a useEffect that calls editorRef.current.setValue(snippet)
whenever snippet changes, keeping the editor mounted. Also apply prettier fixes from quick-check.

* Fix template tag prompt smoke race

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix e2e flake

* Remove toHaveScreenshot from PDF smoke test; fix CI timeout

The screenshot assertion inherited the full 25s expect timeout and caused
the 'can send requests' test to exceed its 60s CI budget. The three
structural assertions above it (toBeVisible, blob src, chrome-extension
frame poll) already provide sufficient smoke-level PDF coverage.

* fix: disable env editor Close button while save is in-flight

Prevents a race condition where the dialog closes and the test navigates
before the updateEnvironmentFetcher NeDB write completes. Playwright's
click() waits for aria-disabled to clear, so the test blocks until idle.

* fix: address Copilot review comments on PR #9992

- vault-crypto: replace forge-in-renderer with IPC bridge (main process
  retains forge; renderer calls window.main.vault.{en,de}cryptSecretValue)
- mime.ts: expand lookup table to 48 entries (webp, wasm, mp4, docx, xlsx,
  fonts, audio/video, etc.) and fix remaining mime-types import in send route
- response-viewer: move charset alias map to module level; normalise iconv-lite
  alias names (utf8, latin1, win1252, …) to WHATWG labels for TextDecoder
- auth.clear-vault-key: fix typo "all you local" → "all your local"

* fix: sort imports in send route

* refactor: split script-security-rules out of script-security-policy

Extract pure data constants (blockedPropertyRules, blockedRootRules,
maskRules) and their interfaces (ASTRule, ThreatRule) into a new
script-security-rules.ts with no Node.js imports.

script-security-policy.ts now re-exports from that module and retains
only interceptorRules, which needs requireInterceptor. scripting-settings.tsx
imports directly from script-security-rules so the renderer does not
transitively pull in require-interceptor.

* feedback

* revert mime-type change, use alias

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-01 16:44:34 +08:00
Jack Kavanagh
a3a3ef490e 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>
2026-04-24 15:36:59 +08:00
Shelby
718d88f57a chore: add AGENTS.md, CLAUDE.md (#9812) 2026-04-14 18:38:08 -04:00
Kent Wang
4a989dbb01 Test: Adding e2e smoke test for cloud sync (#9614)
* add initial apis for mock cloud sync
* add cloud sync test
2026-03-05 06:00:36 +00:00
Ryan Willis
05d15b4abf securely wrap execution (#8451)
* test using a wrapper that sets security context before invoking the main application

* add build step to pr ci

* try with diff ver string

* statically link the standard libraries for portability

* more static linking

* prior version string

* remove pr substring from version

* try using a different version string
2025-03-25 08:57:53 -07:00
Ryan Willis
d6a6bcb04d feat(grpc): skip TLS when verification disabled + mTLS capability [INS-4536] (#8235)
* fix cert passing

* feat: mtls for ssl-enabled grpc requests

* add user-friendly tls-related error messages to a modal

---------

Co-authored-by: jackkav <jackkav@gmail.com>
2024-12-09 15:00:31 -07:00
Jack Kavanagh
883f907ac0 Fix/mock-feedback-4 (#7277)
* ignore .node files

* add header count

* add status bar

* copy in full url

* placeholder and language

* validate url

* validate path

* fix possible dupe route bug

* clean up language

* layout

* fix submit

* error messages

* fix test
2024-04-18 08:48:36 +00:00
Filipe Freire
7b3d04c830 chore: smoketests ubuntu only (#6255)
* chore: smoketests ubuntu only

* rename screenshot to traces

---------

Co-authored-by: jackkav <jackkav@gmail.com>
2023-08-10 17:53:18 +02:00
SIX Douglas
f39d47b5bd Import multiple envs when importing OpenAPI3 (#4254)
* feat(import): import multiple envs when importing OpenAPI3

When the OpenApi file to import contains multiple servers, import each one as an environment.

Closes #3627

* feat(import): import multiple envs when importing OpenAPI3

When the OpenApi file to import contains multiple servers, import each one as an environment.

Closes #3627

* fix lint and tests & rebase with latest develop

Co-authored-by: SIX Douglas <douglas.six@ext.adeo.com>
Co-authored-by: Filipe Freire <livrofubia@gmail.com>
2022-12-05 11:31:43 +00:00
Dimitri Mitropoulos
26fe408344 remove nunjucks templating in experimental plugin themes (#4933)
* remove nunjucks usage from core themes

* adds package downloader script

* adds runtime validation for plugins still using nunjucks

* generateThemeCSS no longer needs to be async

* removes Nunjucks as valid type
2022-07-07 13:19:17 +00:00
Jack Kavanagh
bbceb6097c Typed preload (#4886)
* convert preload to typescript

* preload types second pass

* improve types

* fix import

* simplify types

* remove migration map

* preload alongside main

* naming improvements

* fix global typing by adding vite import types

* fix test

* isolate main only network code

* fix mapping mistake

* clarify timeline logic
2022-06-26 13:36:30 +00:00
Jack Kavanagh
bddf13a6e5 chore: simplify ca cert handling for app and inso (#4738)
* move file write to main

* fix tests

* fix path import

* generate root certs at app start

* remove unused scripts

* consistently use os.tmpdir for cacerts

* clean up gitignore

* setup ca cert once

* use cainfo_blob

* fix lint

* fix curl mock

* fix formatting
2022-05-11 15:59:59 +00:00
Dimitri Mitropoulos
213e1dd1c8 rename insomnia-app/app to insomnia/src (#4491) 2022-04-20 17:42:19 +00:00
James Gatz
eb21506d40 ️vite/esbuild (#4329)
* ️ vite

* replace webpack with esbuild in build script

* move build sr to esbuild

* esbuild send-request shim

* remove main externals

* fix lint

* remove webpack from insomnia-testing

* removes more webpack stuff

TODO after this PR: make debugging work again

* pin swagger-ui-react to version before esm change

* restore prepare script to build in bootstrap

* use default tsconfig for eslint and apply fixes

* bundle insomnia-components as cjs/esm

* makes ca_certs.ts pass linting

* builds types for insomnia-components

* improve build script for production

* skip typechecking insomnia-components

* separate package from build

* add electron to externals

* add preload bundling and fix build output

* exclude grpc/proto-loader from the bundle

* move node packages to commonjs

* don't bundle grpc since it's a node module

* fix content security error

* use vite lib mode for insomnia-components

* tidy up vite config and tsconfig options

* update package-locks

* use process.env. for static build time variables

* fix vscode debugging

Co-authored-by: jackkav <jackkav@gmail.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2022-04-18 17:27:39 +02:00
Dimitri Mitropoulos
422d5a809c adds markdown linting (#3931) 2021-08-27 15:44:01 +12:00
Hademumel
7135114768 add search for graphQL schemas (#3388)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-08-26 05:43:56 +00:00
Dimitri Mitropoulos
5f4c19da35 [TypeScript] Phase 1 & 2 (#3370)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-12 18:35:00 +12:00
Opender Singh
f654f49dfb Onboarding flow ent to end tests and automatic screenshots on failure (#3106)
Co-authored-by: David Marby <david@dmarby.se>
2021-02-26 09:39:59 +13:00
Gregory Schier
0a616fba6b Version Control (beta) (#1439)
* VCS proof of concept underway!

* Stuff

* Some things

* Replace deprecated Electron makeSingleInstance

* Rename `window` variables so not to be confused with window object

* Don't unnecessarily update request when URL does not change

* Regenerate package-lock

* Fix tests + ESLint

* Publish

 - insomnia-app@1.0.49
 - insomnia-cookies@0.0.12
 - insomnia-httpsnippet@1.16.18
 - insomnia-importers@2.0.13
 - insomnia-libcurl@0.0.23
 - insomnia-prettify@0.1.7
 - insomnia-url@0.1.6
 - insomnia-xpath@1.0.9
 - insomnia-plugin-base64@1.0.6
 - insomnia-plugin-cookie-jar@1.0.8
 - insomnia-plugin-core-themes@1.0.5
 - insomnia-plugin-default-headers@1.1.9
 - insomnia-plugin-file@1.0.7
 - insomnia-plugin-hash@1.0.7
 - insomnia-plugin-jsonpath@1.0.12
 - insomnia-plugin-now@1.0.11
 - insomnia-plugin-os@1.0.13
 - insomnia-plugin-prompt@1.1.9
 - insomnia-plugin-request@1.0.18
 - insomnia-plugin-response@1.0.16
 - insomnia-plugin-uuid@1.0.10

* Broken but w/e

* Some tweaks

* Big refactor. Create local snapshots and push done

* POC merging and a lot of improvements

* Lots of work done on initial UI/UX

* Fix old tests

* Atomic writes and size-based batches

* Update StageEntry definition once again to be better

* Factor out GraphQL query logic

* Merge algorithm, history modal, other minor things

* Fix test

* Merge, checkout, revert w/ user changes now work

* Force UI to refresh when switching branches changes active request

* Rough draft pull() and some cleanup

* E2EE stuff and some refactoring

* Add ability to share project with team and fixed tests

* VCS now created in root component and better remote project handling

* Remove unused definition

* Publish

 - insomnia-account@0.0.2
 - insomnia-app@1.1.1
 - insomnia-cookies@0.0.14
 - insomnia-httpsnippet@1.16.20
 - insomnia-importers@2.0.15
 - insomnia-libcurl@0.0.25
 - insomnia-prettify@0.1.9
 - insomnia-sync@0.0.2
 - insomnia-url@0.1.8
 - insomnia-xpath@1.0.11
 - insomnia-plugin-base64@1.0.8
 - insomnia-plugin-cookie-jar@1.0.10
 - insomnia-plugin-core-themes@1.0.7
 - insomnia-plugin-file@1.0.9
 - insomnia-plugin-hash@1.0.9
 - insomnia-plugin-jsonpath@1.0.14
 - insomnia-plugin-now@1.0.13
 - insomnia-plugin-os@1.0.15
 - insomnia-plugin-prompt@1.1.11
 - insomnia-plugin-request@1.0.20
 - insomnia-plugin-response@1.0.18
 - insomnia-plugin-uuid@1.0.12

* Move some deps around

* Fix Flow errors

* Update package.json

* Fix eslint errors

* Fix tests

* Update deps

* bootstrap insomnia-sync

* TRy fixing appveyor

* Try something else

* Bump lerna

* try powershell

*  Try again

* Fix imports

* Fixed errors

* sync types refactor

* Show remote projects in workspace dropdown

* Improved pulling of non-local workspaces

* Loading indicators and some tweaks

* Clean up sync staging modal

* Some sync improvements:

- No longer store stage
- Upgrade Electron
- Sync UI/UX improvements

* Fix snyc tests

* Upgraded deps and hot loader tweaks (it's broken for some reason)

* Fix tests

* Branches dialog, network refactoring, some tweaks

* Fixed merging when other branch is empty

* A bunch of small fixes from real testing

* Fixed pull merge logic

* Fix tests

* Some bug fixes

* A few small tweaks

* Conflict resolution and other improvements

* Fix tests

* Add revert changes

* Deal with duplicate projects per workspace

* Some tweaks and accessibility improvements

* Tooltip accessibility

* Fix API endpoint

* Fix tests

* Remove jest dep from insomnia-importers
2019-04-17 17:50:03 -07:00
Gregory Schier
963339204b Some improvements to GraphQL variable autocomplete 2018-06-25 11:38:49 -04:00
Gregory Schier
cbd873febc Add verifier to OAuth1 (Closes #828) 2018-03-26 09:52:14 -07:00
Gregory Schier
bce2a25a47 Remove root deps 2018-02-17 16:33:59 +08:00
Gregory Schier
549ce23ce8 Merge All Repositories into Monorepo for easier maintenance (#629)
* All projects into monorepo

* Update CI

* More CI updates

* Extracted a bunch of things into packages

* Publish

 - insomnia-plugin-base64@1.0.1
 - insomnia-plugin-default-headers@1.0.2
 - insomnia-plugin-file@1.0.1
 - insomnia-plugin-hash@1.0.1
 - insomnia-plugin-now@1.0.1
 - insomnia-plugin-request@1.0.1
 - insomnia-plugin-response@1.0.1
 - insomnia-plugin-uuid@1.0.1
 - insomnia-cookies@0.0.2
 - insomnia-importers@1.5.2
 - insomnia-prettify@0.0.3
 - insomnia-url@0.0.2
 - insomnia-xpath@0.0.2

* A bunch of small fixes

* Improved build script

* Fixed

* Merge dangling files

* Usability refactor

* Handle duplicate plugin names
2017-11-26 20:45:40 +00:00
Gregory Schier
e9b87686e1 Upgrade Electron Builder (#498)
* Upgrade electron-builder

* Fix optional dep

* Add another dep

* Fix travis

* Fix 7zip install

* Fix icons

* Minor fix

* Delete changelog

* Moved build scripts to JS

* Some adjustments

* Remove lines

* Add 7zip back

* Update scripts

* Small tweaks

* Fix electronbuilder config

* snap dependency

* Fix pkg

* Remove snapd dep

* Updated deps and lots of fixes

* Travis update

* Return package name

* Remove snap for now

* Remove portable

* Try fixing code signing

* Bump cache

* Disable automatic tests

* Fix windows artifacts

* package-lock for app/

* Try fix npm install

* Try again

* Some minor tweaks

* Preleases by default
2017-11-20 16:07:36 +00:00
Atvaark
b80f757a26 Add .gitattributes (#506)
Checkout text files with LF line endings.

This prevents auto conversion from LF to CRLF on windows,
which would break unit tests expecting LF line endings.
2017-10-10 22:55:22 +02:00
Gregory Schier
1d45367aa1 Added eslint and fixed all problems (#101)
* Fixed duplication kve bug

* Added semistandard and updated code

* Actually got it working

* Even better

* I think it should work on Windows now
2017-03-03 12:09:08 -08:00
Gregory Schier
314daf155e Verify Before Syncing (#98)
* Added an UNSET sync mode

* Fixed tests

* Remove sync logs and adjusted dropdown

* Fixed duplication kve bug

* Added sync config modal

* AUtobind

* Autobind working

* Hot loading works again

* Remove express

* Fixed tests

* Fix one thing

* Fixed some hmr-related bugs
2017-03-02 17:44:07 -08:00
Gregory Schier
e380a4d2b1 Insomnia Plus Launch (#41)
* Payment modal done

* Refactor settings and added command support

* Made sync operations more efficient

* Sync button slightly more efficient

* Remove Elm

* Fixed Codemirror

* Nunjucks 3.0

* Revert sourcemap change and some renaming

* Some fixes for Config creation, and added name to resources

* Set to new Insomnia URL

* Some fixes
2016-11-07 12:24:38 -08:00
Gregory Schier
2ed92a7968 Actual Test Suite (#35)
* Pull out some render utils into functions

* Added some tests for lib functions

* strict refs
2016-09-02 21:32:45 -07:00
Gregory Schier
9e84bc4387 Workspaces, Cookies, and More! (#31)
* Start on workspace dropdown and upgrade fontawesome

* WorkspaceDropdown start and Elm components!

* Lots of CSS shit

* Refactor some db stuff and move filter out of sidebar

* Adjust dropdown css

* Handle duplicate header names, and stuff

* Shitty cookies tab

* fixed cookie table a bit

* Modal refactor

* Starteed cookie modal design

* Better cookie storage and filter cookie modal

* Cookie editor round 1

* Fix kve cursor jumping and form encoding templating

* New cookies now show up in filter

* Checkpoint

* Stuff and fix environments css

* Added manage cookies button to cookie pane

* Fix accidental sidebar item drag on sidebar resize

* Environments modal is looking pretty good now

* Pretty much done environments nad cookies

* Some changes

* Fixed codemirror in modals

* Fixed some things

* Add basic proxy support

* Updated shortcuts

* Code snippet generation

* Some style

* bug fix

* Code export now gets cookies for correct domain
2016-08-15 10:04:36 -07:00
Gregory Schier
a932a78479 Add .DS_Store to .gitignore 2016-07-06 15:56:34 -07:00
Gregory Schier
b4f9dfa219 Add gitbook skeleton 2016-05-11 13:23:33 -07:00
Gregory Schier
9fda6e79cf Write DB to application directory 2016-04-27 16:33:38 -07:00
Gregory Schier
9c11a7d61c Switch to LokiJS (#12)
* LokiJS is working pretty well

* Tidy up
2016-04-26 20:17:05 -07:00
Gregory Schier
85f4d9c7c5 Merge branch 'master' of github.com:gschier/insomnia 2016-04-22 21:01:28 -07:00
Gregory Schier
f7644d3244 Initial commit 2016-04-22 20:54:26 -07:00
Gregory Schier
3378a03e0c MVP build process 2016-04-19 23:09:46 -07:00
Gregory Schier
b13309d52a POC Responses in DB 2016-04-17 21:39:15 -07:00
Gregory Schier
fc9d0c41fb PouchDB up and running POC 2016-04-16 16:24:57 -07:00
Gregory Schier
faf4796a1e Electron working 2016-03-22 11:20:05 -07:00
Gregory Schier
403bc474a0 Got a pretty good skeleton 2016-03-15 22:49:42 -07:00