Commit Graph

230 Commits

Author SHA1 Message Date
James Gatz
0373bb578b
Initial WebSocket support (#5043)
* [INS-1697] Create WebSocket Request (#5041)

* add fail safe

Co-authored-by: Mark Kim <mark.kim@konghq.com>

* Websockets IPC API (#5044)

* add url to ws-request model

* fix webSocketRequest typo and add url

* add websocket api and expose it through preload ipc

* add typings

Co-authored-by: Mark Kim <mark.kim@konghq.com>

* [INS-1701] Create/Close Websocket Connection (#5046)

* add websocket action bar and its components

* remove comments

* clean up

* reflect on the electron api

* remove unused files

* import name change

* add styling

* remove commet

* add suggested changes

* remove default value

* Add WebSocketRequest to sidebar and update types (#5048)

* [INS-1700] Delete Websocket Request (#5055)

* add websocket actions dropdown

* add actions to websocket request in sidebar

* [INS-1703] Display WebSocket messages - first pass (#5054)

* Update event types to improve inference

* Update websocket response pane to fetch/subscribe and display the events

* [INS-1693] Add WS echo server for smoke tests (#5050)

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>

* fix sidebar unit tests (#5064)

* [INS-1776] adds `ws` dependency explicitly (#5066)

* [INS-1702] WebSocket Send Message (#5052)

* add initial changes for websocket message

* add abstraction for db operation and websocket operation

* remove console

* add rename

* add basic testing

* add basic testing

* add unit tests

* add form event type

* add comments

* disallow exporting context directly

* add suggested changes

* refresh the query

* using useDeepCompareEffect

* rename variable

* add mock

* clean up

* clean up

* correct the file name

* add some changes

* removing nedb-context and its hooks

* remove database changes for event sending

* [INS-1778] Fix Global Module Typing Issue (#5065)

* fix typings

* add jest import

* [INS-1703] View WebSocket Messages (#5074)

* save changes

* add styles and move files around

* remove unused code

* clean up some components

* add clean up

* add timestamp component

* add unit tests

* add case

* add style changes

* [INS-1786] WebSocket headers tab (#5080)

* first ui pass

* extract and wire up bulk editor

* raise ready state, move send

* add upgrade header debug logs

* can pass header to websocket upgrade

* implement readOnly headers

* add upgrade event and sent headers

* clean up

* fill out http upgrade into the event

* change upgrade message

* read only headers while connected

* remove upgrade event

* revert bulk editor change

* fix header editable toggle

* add nunjucks todos

* improve readOnly implementation

* disable codemirror/nunjucks for websocket headers

* take calculated headers out of the data model

* move hardcoded default headers down the tree

* fix request url rendering issue

* removed spammy warning

* clarify prop name

* refine pair typing

* change placeholder

* remove readOnly header property

* fix readOnly header layout

* Update packages/insomnia/src/ui/components/dropdowns/websocket-request-actions-dropdown.tsx

* Show HTTP->WS upgrade (handshake) (#5091)

* first pass as event

* add handshake ui

* add timeline tab

* simplify ResponseTimelineViewer

* transform res debug modal to change timeline props

* decouple timeline fetching from timeline component

* timeline ui pass

* record headers in request and response models

* can view timeline history

* write timeline to file

* some timeline

* can persist event logs

* put interface beside usage

* add note

* add event log history

* remove table event row

* tidying up

* make ws colors match

* enable multiple open connections

* close open connections at app exit

* remove old test

* Update packages/insomnia/src/models/request-version.ts

* fix type

* default readystate

* fix preview css scroll

Co-authored-by: James Gatz <jamesgatzos@gmail.com>

* INS-1788: Add control flow to improve responsiveness. (#5094)

* INS-1788: Add control flow for responsiveness.

This prevents events from flooding the UI thread entirely.

* Add additional code comments.

* fixup: webSocketEvent -> webSocketEvents

* display response headers (#5102)

* Show errors in timeline (#5100)

* remove unused context provider

* show errors in event tab

* updates timeline with message and close

* clean up

* show errors in timeline

* fix WebSocket capitalisation

* make timeline reader specific to ws

* write outbound messages to the timeline

* fix type

* Make the head row sticky in the events table (#5103)

* Add client certificate support to websocket connections (#5112)

* [INS-1810] close connection on response change (#5104)

* close ws connection when response is changed

* add delete logic for the queue mapg

* set error response to active response

* useRef for CodeEditor

* extract closeRequest

* use requestId to eliminate inconsistencies

* refactor extract clean up methods

* timeline feedback

* change type annotation

* fix type

* Revert "use requestId to eliminate inconsistencies"

This reverts commit 98335a927e.

* [INS-1803] show cookie tab in response pane (#5105)

* hard code sending and storing to true

* make tab naming consistent

* hard code cookie settings to false

* fix headers isDisabled bug

* [INS-1805] Add Auth Header Tab (#5115)

* add minimal change to the auth flow

* add disable state

* adding dropdown disable

* simplify reducer

* fix lint

* [INS-1839] Rename tab Header everywhere (#5119)

* can import/export websocket requests (#5122)

* use responseId for timeline name (#5124)

* add react-virtual to virtualize the event log view (#5126)

* [INS-1833] Include Auth Header in Headers mapping for WebSocket Connection (#5120)

* add auth to the header

* remove console log

* remove unneeded async

* add success redirect logic to websocket server

* add unexpected-response handler

* remove digest auth (#5129)

* remove auth header and outbound message timeline (#5130)

* [INS-1840] Add Connected Status Label and Extras (#5131)

* add status related changes

* text label change

* WebSocket ipc typing proposal (#5125)

* make consistent with main bridge

* rename webSocket

* remove deviated mock

* use consistent arrow function defintions

* Update packages/insomnia/src/main/network/websocket.ts

* Set the environment for websocket responses (#5132)

* first pass (#5123)

* [INS-1843] Add more checks to WS smoke test (#5138)

* Fix failing websocket smoke test

* Add remaining websocket smoke server endopints to fixtures

* Add checks for basic-auth, bearer and redirect

* Rm assertion

* can select payload type (#5133)

* Implement nunjucks rendering for websocket urls, authentication, headers and urls (#5134)

* fix  websocket->webSocket (#5142)

* bug fix (#5144)

* INS-1844: Implement basic event view functionality. (#5146)

* INS-1844: Implement basic event view functionality

* CSS fix to align Preview button with tab buttons.

* Reverse the order of WebSocket events (#5148)

* Reverse the event log order in the view and subscribe to messages after the latest

* WebSocket response model (#5147)

* init websocket-response model

* add websocket response model

* remove unused timeline getter

* remove unused functionality from the ws-response model

* can select and save payload message and preview mode (#5143)

* [INS-1838] Add Empty State (#5140)

* add empty state

* use the empty state pane

Co-authored-by: gatzjames <jamesgatzos@gmail.com>

* Bug/stabilise-ws-fetch-method (#5152)

* just poll

* remove cts and eventlog channel

* Fix/nitpicks (#5156)

* remove unused names

* fix copypasta icon

* ensure all subcompnent drop state on request change

* move empty state to response pane

* add websockets to quick switch (#5159)

* [INS-1800] Remove value validity check in the WebSocket headers (#5154)

* remove valid value check in the headers

* add header name filtering

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Co-authored-by: Mark Kim <mark.kim@konghq.com>
Co-authored-by: Filipe Freire <livrofubia@gmail.com>
Co-authored-by: Jack Kavanagh <jackkav@gmail.com>
Co-authored-by: John Chadwick <86682572+johnwchadwick@users.noreply.github.com>
Co-authored-by: David Marby <david@dmarby.se>
2022-09-09 14:53:28 +00:00
dependabot[bot]
771fb42c8b
Bump vite from 2.9.1 to 2.9.13 in /packages/insomnia-components (#5121)
* Bump vite from 2.9.1 to 2.9.13 in /packages/insomnia-components

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.9.1 to 2.9.13.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.13/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* Run bootstrap

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Filipe Freire <livrofubia@gmail.com>
2022-09-06 09:17:55 +00:00
kreosus
674874e3ac Bump app version to 2022.6.0-beta.4 and lerna package versions 2022-09-01 12:08:01 +00:00
kreosus
02f507d745 Bump app version to 2022.6.0-beta.3 and lerna package versions 2022-08-25 12:30:08 +00:00
Filipe Freire
854c08a76e Bump app version to 2022.6.0-beta.2 and lerna package versions 2022-08-18 12:23:48 +00:00
David Marby
e724dd78a5 Bump app version to 2022.5.1 and lerna package versions 2022-08-17 10:46:46 +00:00
kreosus
aec2bd1758 Bump app version to 2022.6.0-beta.1 and lerna package versions 2022-08-11 19:06:36 +00:00
Filipe Freire
b72c923746 Bump app version to 2022.5.0 and lerna package versions 2022-08-02 16:25:13 +00:00
Filipe Freire
08ae04f241 Bump app version to 2022.5.0-beta.7 and lerna package versions 2022-08-02 10:05:29 +00:00
James Gatz
e76735c709 Bump app version to 2022.5.0-beta.6 and lerna package versions 2022-07-28 13:48:13 +00:00
David Fluck
e930140bd0 Bump app version to 2022.5.0-beta.5 and lerna package versions 2022-07-21 17:33:22 +00:00
kreosus
68541bdab9 Bump app version to 2022.5.0-beta.4 and lerna package versions 2022-07-14 14:02:53 +00:00
Filipe Freire
2af3eff41b Bump app version to 2022.5.0-beta.3 and lerna package versions 2022-07-07 15:37:58 +00:00
David Marby
946b5627bc Bump app version to 2022.5.0-beta.2 and lerna package versions 2022-06-30 08:10:31 +00:00
Dimitri Mitropoulos
9bea9e06f1
fixes ContentTypeDropdown and AuthDropdown (#4918) 2022-06-29 17:34:28 -04:00
Jack Kavanagh
ba04d2c47d
Chore/some-fc (#4904)
* editable

* wrapper debug

* method dropdown

* request actions dropdown

* response history dropdown

* wrapper home

* copy button

* auth dropdown

* env dropdown

* content type dropdown

* fix types

* second pass

* response csv viewer

* useCallback pass

* more useCallbacks

* wrapper unit test

* simplify pagelayout

* fix editable bug in unit test

* wrapper unit test useCallbacks

* some gentle tidying

* useCallback usage for async func

* switch to useInterval

* updates types for Editable, Highlight, et al.

* moves usage after declaration

* extracts FC for AuthDropdown items

* removes some prop drilling and extracts component

* adds mandaotry useCallback, rm unused props, types

* use named exports from react npm like rest of project

eventually, we will remove usages of `React` default export since it's a hack from half a decade ago that's no longer necessary now that jsx-transform is a thing.

* removes unnecessary useImperativeHandle (we learn somethin' every day)

* adds necessary useCallback, removes unnecessary useImparativeHandle, TS

* fixes types for useRef (turns out you don't need null in the generic)

* removes unused props

* fixes types from ref helpers

* fixes return from useCallback

* updates useCallback usages

* fixes bind

* fixes lint

for some reason, kept getting:

```
insomnia: /home/dimitri/src/github.com/Kong/insomnia/packages/insomnia/src/preload.js
insomnia:   0:0  error  Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
insomnia: The file does not match your project config: packages/insomnia/src/preload.js.
insomnia: The file must be included in at least one of the projects provided
```

* revert incomplete type change

* remove unnecessary useEffect

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2022-06-29 12:17:13 +00:00
Dimitri Mitropoulos
ed3aad6046
tsconfig cleanup (#4908) 2022-06-27 12:57:50 -04:00
Wils Dawson
b400eb1160 Bump app version to 2022.5.0-beta.1 and lerna package versions 2022-06-23 14:10:00 +00:00
Filipe Freire
00a383690e Merge branch 'release/2022.4.2' into develop 2022-06-22 18:23:44 +01:00
Filipe Freire
f44da26ff3 Bump app version to 2022.4.2 and lerna package versions 2022-06-22 14:24:12 +00:00
John Chadwick
5622393f24
Enable strict TypeScript in insomnia. (#4869)
* Enable strict TypeScript in insomnia.

* Remove implied tsconfig settings.
2022-06-16 22:13:54 +00:00
Jack Kavanagh
6707e5889d Bump app version to 2022.5.0-beta.0 and lerna package versions 2022-06-16 09:58:24 +00:00
David Marby
b24d30a21d Merge branch 'release/2022.4.1' into develop 2022-06-15 19:26:05 +02:00
Filipe Freire
07c5b0cc66 Bump app version to 2022.4.1 and lerna package versions 2022-06-15 09:56:45 +00:00
John Chadwick
fc36be710f
Make ButtonProps.onClick more type-able. (#4853)
* Make Button onClick prop more typeable

Swaps the order of the arguments so that the optional arg is second.

* Review fixes.

* removes some implicit any's

* NoticeTable to FC

might as well, at this point.  we're trying to do these as we can as they present themselves

* fixes margin for collapse icon (broken before this PR)

and removes an unnecessary type parameter

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2022-06-13 15:20:05 +00:00
Gabriel Amorim
7b7a8c83ae
fix: check if bubble is a child of Tooltip container before removing it (#4821)
Co-authored-by: Gabriel Rosa <gabriel.rosa@dadosfera.ai>
Co-authored-by: Mark Kim <103070941+marckong@users.noreply.github.com>
2022-06-09 17:09:28 -04:00
Filipe Freire
e98bf5d427 Merge branch 'release/2022.4.0' into develop 2022-06-09 14:15:03 +00:00
Jack Kavanagh
28acc69435
bump node and electron 19 (#4847)
* bump electron, node and node-libcurl

* package locks
2022-06-09 09:17:28 +01:00
Filipe Freire
2d6d9ec37f Bump app version to 2022.4.0 and lerna package versions 2022-06-09 08:05:54 +00:00
Dimitri Mitropoulos
c6a17d8a3e
chore: single letter variables (#4848) 2022-06-08 12:27:21 -04:00
Filipe Freire
10faac4232 Bump app version to 2022.4.0-beta.4 and lerna package versions 2022-06-08 09:21:49 +00:00
Jack Kavanagh
9c269f40cc
class to pure the second pass (#4831)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2022-06-02 14:28:15 -04:00
Mark Kim
35f5094048 Bump app version to 2022.4.0-beta.3 and lerna package versions 2022-06-02 13:20:00 +00:00
Dimitri Mitropoulos
0dd6090f1b Bump app version to 2022.4.0-beta.2 and lerna package versions 2022-05-19 14:12:37 +00:00
Dimitri Mitropoulos
52393eccc0
chore(deps): upgrades jest to 28 (#4783) 2022-05-17 08:18:06 -04:00
Filipe Freire
c18a729fe7 Bump app version to 2022.4.0-beta.1 and lerna package versions 2022-05-12 13:27:17 +00:00
David Marby
e2d2c3093d Bump app version to 2022.4.0-beta.0 and lerna package versions 2022-05-05 10:22:35 +00:00
David Marby
1ee7c198f1 Merge branch 'release/2022.3.0' into develop 2022-04-28 15:05:00 +02:00
Jack Kavanagh
4a56db0560
remove unused deps (#4730)
* restore packages used in scripts

* package lock
2022-04-28 12:36:05 +00:00
Dimitri Mitropoulos
cced992115
Upgrades electron to 18.1.0 (#4643)
Co-authored-by: David Marby <david@dmarby.se>
2022-04-27 15:40:05 +00:00
David Marby
e7730587ef Bump app version to 2022.3.0 and lerna package versions 2022-04-22 11:53:32 +00:00
David Marby
b8c0c7fd41 Sync package-lock.json versions 2022-04-21 22:07:05 +02:00
David Marby
5f6f0edd39 Merge branch 'release/2022.3.0-beta.4' into develop 2022-04-21 19:50:06 +02:00
John Chadwick
776a5148a5
Fix for CVE-2021-3777 (rebased) (#4716)
* Add .whitesource configuration file

* Added GitHub Sync action to repository.

* Fixed CVE

nodejs-tmpl is vulnerable to Inefficient Regular Expression Complexity

Updated from 1.0.4 to 1.0.5.

Publish Date: 2021-09-15

URL: https://vuln.whitesourcesoftware.com/vulnerability/CVE-2021-3777

* Delete ibm_fork_sync.yml

* Delete .whitesource

Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com>
Co-authored-by: Ivan Pedrero <pedrero.ivan@hotmail.com>
2022-04-20 19:37:14 +00:00
David Marby
0d46d18847 Bump app version to 2022.3.0-beta.4 and lerna package versions 2022-04-20 15:19:38 +00:00
James Gatz
fec3e4d551
fix(styled-components): add specificity selector (#4711) 2022-04-20 12:16:02 +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
727c1f3366
chore: bracket lint rules (#4694) 2022-04-13 17:04:29 -04:00
Dimitri Mitropoulos
7d8c303318
chore(deps): styled-components (#4669)
* upgrades styled-components

* lockfiles

* map styled-components to the insomnia-app node_modules to fix React version mismatch

Co-authored-by: gatzjames <jamesgatzos@gmail.com>
2022-04-08 15:47:39 +01:00
Filipe Freire
03fdd2eb7d Bump app version to 2022.3.0-beta.3 and lerna package versions 2022-04-07 16:59:54 +00:00