* client cert ui
* first pass
* use import to avoid url onChange timing issue
* re order test
* use 4001 port, refresh certs
* move test to critical
* expose cacert create over maain
* Add support for multiple remote projects per Team (#6009)
* update fetching of teams
* create and delete remote projects
* backend project sync using the new teamProjectId in the API
* indicator
* use team api to get organization data
* handle logged out state
* remove remote from duplicate modal
* remaining insomnia fetch fixes
* fix ts issues
* fix ts log issue
* fix ts error
* fix ts update
* fix tests
* remove log
* add types to insomniaFetch
* named arguments in vcs
---------
Co-authored-by: jackkav <jackkav@gmail.com>
* Project Presence (#6079)
* fix ts log issue
* fix ts update
* update fetching of teams
* create and delete remote projects
* real-time
* update api changes
* check for successful response
* get user profile
* cleanup
* update fetch
* update network status
* fix for insomniaFetch new api
* insomnia fetch from window
* fix missing stat
* fix project dropdown
* update avatar
* update presence when closing the app
* update the presence every minute
* cleanup presence
* use eventsource and improve debugging
* Cloud only projects (#6167)
* Add support for multiple remote projects per Team (#6009)
* update fetching of teams
* create and delete remote projects
* backend project sync using the new teamProjectId in the API
* indicator
* use team api to get organization data
* handle logged out state
* remove remote from duplicate modal
* remaining insomnia fetch fixes
* fix ts issues
* fix ts log issue
* fix ts error
* fix ts update
* fix tests
* remove log
* add types to insomniaFetch
* named arguments in vcs
---------
Co-authored-by: jackkav <jackkav@gmail.com>
* login routes
* cleanup logged in state
* update organizations
* fixes
* update migration
* auto init sync on workspaces without git
* fix auto init sync
* checkpoint
* update import options in empty project pane
* responsive styles
* update package-lock
* join an org in sidebar
* readability improvements
* move modals and root loader to org
* cleanup root
* expire session take 1
* cleanup default org id
* fix ts issue
---------
Co-authored-by: jackkav <jackkav@gmail.com>
* Add Scratch Pad collection (#6221)
* add scratchpad collection
* filter scratchpad from cloud migration
* disable sync for scratchpad
* update settings for scratchpad
* log in rename
* check if user is logged in or has logged in before
* use organization api
* organizations api fixes
* update urls
* move modals to root
* update org navbar links
* lint fix
* type-check
* Add form for setting up the staging env
* add autolinking
* onboarding
* remove default org id
* staging urls
* avatar styles
* update urls
* use display name for orgs
* update settings modal with dev
* proper project deletions
* fix api calls perf
* sidebar improvements
* layout styles
* disable tests for now
* fix boolean
* fix data migration
* dev settings styles
* test init
* organization names
* link styles
* improve scratchpad banner styles
* http colors
* url bar styles
* spinner styles
* breadcrumbs styles
* help and feedback links
* settings to root
* onboarding
* fetch remote projects on org nav
* update avatar styles
* use name initials in avatars
* don't allow to delete default organization project
* add scratchpad checks
* tests
* workspace settings tabs types
* export all workspaces
* fix types and personal org
* project permission checks
* continue with sso
* organization avatars
* project presence avatars
* fix privacy/terms links
* add the no-wrap classname
* update user name and email in the app
* fix delete action
* ai fetching
* generate tests in sequence to help with rate limiting
* wip testing
* wip test
* improve test and migration script
* fix ts
* local to cloud projects test
* set local-to-cloud-projects.test as slow
* fix e2e tests
* update settings tests
* update more apis that changed from teams -> organizations
* simplify remote project migration
* org.branding can be undefined
* fix imports issue in sr
* remove .only
* remove unused gql query
* fix onboarding height jump
* trust some rnd and upload artifacts on failure
* fix env vars replacement on prod
* fix constant name
* bring back checks
* fix inso test
* add temp changes
* fix inconsistent response handling
* handle bad auth code errors
* show email when logged in
* remove the concept of default_project
* cleanup auth styles
* fix: use scratchpad constants wherever needed and remove seed
* fix sentry lint error
* migrate with update
* add scratch pad fixture and typing
* refactor pushSnapshotOnInitialize to always work
* remove console.log
* remove account from preferences
* improve trail-lines styles
* fix project sidebar scroll issue
* only create diff of projects
* fix lint
* sync
* feat: add plan upgrading modal for git sync (#6516)
* feat: add plan upgrading modal for git sync
* feat: add plan upgrading modal to project git menu and grid menu
* fix: use JSON.parse for getting flag value
* update ask modal
* remove git option from workspace settings
---------
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
* sort projectswith default at top
* create local copies of remotes
* update presence exit update
* renames
* fix deleting/renaming projects with remoteId
* remoteId instead of projectId
* remote-collections
* fix initializeProjectForTeam
* fix missing parentId in remote projects
* add missing billing api
* add migration page and check for migrations
* cleanup project sync logic
* fix remote projects updating
* add notes
* fix backend-project test
* fix: use features API for fetching feature list (#6538)
* members -> collaborators
* remove dev settings
* use shouldRunMigrations in onboarding
* fix empty pane styles
* remove beforeUnload for presence
* show expiry info
* better error for upgrade in new project action
* extend retry period
* fallback and control revalidate
* add pending indicator for switching organizations
* fix exports (#6553)
* Sync Organizations (#6551)
* organization cache and updates
* error handling in org sync
* sort organizations
* clean up sort
* org sort and avatar fallback
---------
Co-authored-by: jackkav <jackkav@gmail.com>
* Presence updates (#6552)
* use remoteId for presence
* use project loader for the active project
* fix in present users
* logic clean
* match remoteId checks
---------
Co-authored-by: jackkav <jackkav@gmail.com>
* add default color to loading indicator
* fix redirect loop when there are no projects
* scratchpad fallback on initial route load
* re-enable ai check
* update error in renameProject
* db query to get projects in workspace
* review fix
* comments
* remove initModelFrom magic
* fix lint issue
---------
Co-authored-by: jackkav <jackkav@gmail.com>
Co-authored-by: Mark Kim <mark.kim@konghq.com>
Co-authored-by: Filipe Freire <livrofubia@gmail.com>
Co-authored-by: Hexxa <hexxa@outlook.com>
* new request
* add button
* s
* fix formatting issue
* detect event stream
* hide dropdown
* wip
* add basic test
* pass 1 can make connection
* implement event stream open pass 2
* wire up ready state
* wiring up close and error pass 3
* can open and close connections
* clean header
* listen to timeline
* extract options to function
* fix bug in ws
* add debug stuff to timeline
* don't rely on redux to set active response
* fix close type
* rename sse to event stream
* get request flag from request model
* copy websocket response pane
* hide response data
* flatten ws and curl responses
* fix test
* fix catch
* reset file
* use realtime event watcher
* rename some files
* fix types
* fix e2e test
* fix lint
* consistent empty states
* pin to bottom
* remove todo
* add SSE logo
* add sse to readme
* [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>
* add gitlab oauth provider and ui
* add gitlab remaining
* add graphql field in query
* add gitlab oauth provider and ui
* add gitlab remaining
* add graphql field in query
* add some changes for testing
* add gitlab oauth provider and ui
* add gitlab remaining
* add graphql field in query
* add some changes for testing
* add some changes
* modify test
* try to refresh the token on git auth failure
* use localStorage to retrieve the session token
* simplify e2e tests for gitlab
* read the gitlab config from the api
* refresh the token if unauthorised
* use the rest api to fetch the user's data
* add loading state for config and handle 4xx errors in the ui
Co-authored-by: jackkav <jackkav@gmail.com>
* improve config fetching
* fix(e2e): add mock route for config
* Fix fetching gitlab config from the API
* add src as dep to avatar component hook
Co-authored-by: Mark Kim <yowmark613@gmail.com>
Co-authored-by: jackkav <jackkav@gmail.com>
Co-authored-by: David Marby <david@dmarby.se>
* add sign in with github
* fix authentication url not being reset
* Add error handling for graphql query results
* move desctructuring to function arguments
* remove unused input prop
* Respect INSOMNIA_DATA_PATH for electron data regardless of environment
* fix lint error and update uuid usage
Co-authored-by: David Marby <david@dmarby.se>
* Move basic auth routes to a separate file
* Stop slowing requests down artificially
* Add initial oauth routes
* Mount oidc routes under /oidc
* Enable all forms of oauth that Insomnia supports
* Add oauth request collection fixture
* Update playwright config
* Use 127.0.0.1 instead of localhost
* simple oauth2 test
* Make the playwright extension work
* Move oauth tests to a separate file
* Test all oauth flows
* Mark test as slow
* Wait for load state for new pages
* Use locators consistently
* Add playwright to recommended extensions
* Add instructions for how to use the playwright extension
* update selectors and use fill
* Fix markdown lint
Co-authored-by: jackkav <jackkav@gmail.com>
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
* add /cookies endpoint to smoke test mock server
* add smoke test steps for /cookies endpoint
* Update packages/insomnia-smoke-test/tests/app.test.ts
Co-authored-by: James Gatz <jamesgatzos@gmail.com>