Commit Graph

747 Commits

Author SHA1 Message Date
Timothy Lim
58ce5ec39e
Allow Autocomplete to be properly registered as a Shortcut (#2726)
* Allow autocomplete to be registered

* On shortcut update refresh pane to enable shortcuts to register correctly

* Improve types and add explanation about keyname order

* bind code-editor to hotkeyregistry via redux so that it updates keymaps on change

* remove force refresh via key and convert to named export

* send hotkeyregistry in environment autocomplete options

* use autocomplete delay from settings

* Use Pick<T>

Co-authored-by: Timothy Lim <tim.lim@intercom.io>
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-09-15 15:01:35 +02:00
John
7e7d235fec
Added nested keys check after root keys check for environment editor. (#2685)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-10 19:25:32 +00:00
Timothy Lim
6b20648b5b
Show Client Certificate paths (#2714)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-10 17:53:25 +00:00
Dimitri Mitropoulos
02c65a852d
implements sort order for projects (#3953)
Co-authored-by: Opender Singh <opender94@gmail.com>
2021-09-09 21:42:57 +00:00
Julien Giovaresco
d4da3ad9d4
Unescape xml links before opening it (#2725)
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-09 15:02:42 +00:00
Timothy Lim
614957c2b2
Fix tag editor preview issue due to blackslash (#2708)
Co-authored-by: Timothy Lim <tim.lim@intercom.io>
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
2021-09-09 10:42:04 -04:00
Isaac Moore
cb17482c76
Improve visibilty of the drag pane when viewed vertically (#2713)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-09-09 07:30:06 +00:00
Julien Giovaresco
4cbd5fa816
Fix select all with large response (#2694)
* Refactor to keep in state info about large & huge response

This commit adds 2 properties in the ResponseViewer state:
* largeResponse which will be true when a response body weight more that LARGE_RESPONSE_MB
* hugeResponse which will be true when a response body weight more that HUGE_RESPONSE_MB

* Prevent select-all during response focus hotkey handler on large response

* Add a CopyButton in raw & source response viewer

* Revert "Add a CopyButton in raw & source response viewer"

This reverts commit e094be21

* Add a Copy raw response action in Preview dropdown

This action allows the user to copy the raw response directly in the clipboard.
It is a useful shortcut to copy huge response where select-all might freeze the application.

* fix import

* Fix build

* remove empty line

Co-authored-by: Opender Singh <opender.singh@konghq.com>
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
2021-09-09 13:35:01 +12:00
Eiman
972770731c
Add a keyboard shortcut for beautify request body (#2733) 2021-09-08 14:46:03 -04:00
James Gatz
381cf74a19
Improve codemirror typings (#3993)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-08 15:38:07 +00:00
Mike Clifford
fec22b782f
Add space between words in concatenated sentence (#4009) 2021-09-07 11:48:24 +00:00
Opender Singh
0aa35489db
Update response headers viewer to FC (#3999) 2021-09-05 12:30:01 +00:00
Dimitri Mitropoulos
893c946553
fixes querystring updating regression (#3995)
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
2021-09-03 14:25:32 -04:00
Dimitri Mitropoulos
854ada3ff1
fixes styling regression for autocomplete (#3991) 2021-09-03 14:54:45 +00:00
Dimitri Mitropoulos
03f9d95b52
removes hardcoded import names (#3935) 2021-09-02 14:46:27 +00:00
Jack Kavanagh
de435660f7
fix(autocomplete) undefined tag values (#3983)
* fix(autocomplete) undefined tag values

* Update packages/insomnia-app/app/ui/components/codemirror/extensions/autocomplete.ts

love it!

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

* fix(autocomplete) move nullish coalesing to edge

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-02 04:52:23 +00:00
schrodingersket
ccac337c4f
Optionally disable certificate validation for OAuth2 auth windows (#3894)
Co-authored-by: Jonathan Thompson <jonathan.thompson@nimbusnine.co>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-01 21:08:44 +00:00
Dimitri Mitropoulos
25520154a5
Minor Electon-related cleanup (#3957)
* adds (now available) electron types

* MenuItemConstructorOptions.selector module augmentation

* updates note on allowRendererProcessReuse with more up-to-date info

* separates and formats comments that were intended to be separate

if you check out the commit where these were created, for some reason the comment for the `loadURL` line was put under the line of interest, and over time the space between the comment blocks was removed - making it look like the last line of the comment is related to the same thing (it, apparently, is not).

* use createRef for ResponseWebView
2021-09-01 20:48:05 +00:00
Timothy Lim
6ca2bf7b1b
Prevent GraphQL non breaking space (#2770)
Co-authored-by: Timothy Lim <tim.lim@intercom.io>
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-09-01 16:17:15 -04:00
Opender Singh
7ffc391428
add eslint rules for semi colons (#3989)
* add rules for semi colons

* run lint fix

* remove invalid eslint disable
2021-09-01 10:50:26 -04:00
Jack Kavanagh
a6e52d97aa
fix(tag-editor) cast to boolean (#3982)
* fix(tag-editor) cast to boolean

* Update packages/insomnia-app/app/ui/components/templating/tag-editor.tsx

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-08-31 19:57:17 +00:00
Timothy Lim
84fc8f38a7
Request History: Set dropdown value to the response instead of null (#2735)
Co-authored-by: Timothy Lim <tim.lim@intercom.io>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-08-31 06:21:02 +00:00
Opender Singh
c8926d75ae
Don't resolve plugin prompt promise until modal has closed, to avoid a race condition (#3970)
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
2021-08-31 04:52:01 +00:00
Dimitri Mitropoulos
9353a6fb00
fixes "Hide menu bar" setting (#3961)
Co-authored-by: Opender Singh <opender94@gmail.com>
Co-authored-by: James Gatz <jamesgatzos@gmail.com>
2021-08-31 16:31:08 +12:00
Opender Singh
39eb725a55
🧹 Remove axios, use generics for send-request in insomnia-testing (#3949) 2021-08-27 04:02:59 +00: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
7f7b9f5614
renames base project to default project in code and copy (#3939)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-08-25 12:51:40 +12:00
Opender Singh
774a8dc792
Space -> Project rename & update code-references (#3928) 2021-08-20 11:12:36 -04:00
Dimitri Mitropoulos
6e5f051902
Space Sync Error improvement (#3923) 2021-08-20 07:49:56 -04:00
Dimitri Mitropoulos
f3bfbf76aa
removes usage of deprecated graphql constant (#3926)
see: https://github.com/graphql/graphql-js/pull/2124/files
2021-08-18 16:38:38 -04:00
James Gatz
0ef92797cd
remove extra symbol (#3921) 2021-08-17 15:42:44 +02:00
Opender Singh
afbbb0eaa3
Update mock implementation and move the segment event enum (#3913) 2021-08-12 22:35:43 +00:00
James Gatz
9b7dbe5011
Display the settings modal for remote spaces and update the copy for … (#3885)
* Display the settings modal for remote spaces and update the copy for deleting a remote space

* Improve confirmation dialog copy

* Replace baseSpace check with spaceHasSettings

* Use the strings constant for the space word copy

* Use the strings constant for the space word copy in the modal
2021-08-12 20:14:48 +00:00
Opender Singh
5a50b19595
Introduce segment event enum (#3904)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-08-12 19:37:33 +00:00
James Gatz
82629046e9
Use markdown-preview__content classname in the compiled html container (#3910) 2021-08-12 20:56:23 +02:00
James Gatz
d3738df992
Fix footer subtext alignment in modals (#3908) 2021-08-12 16:52:30 +02:00
James Gatz
632b8020f7
Display a checkmark for the selected sort option in the SpaceSortDropdown (#3896)
* Display a checkmark for the selected sort option in the SpaceSortDropdown

* Update packages/insomnia-app/app/ui/components/dropdowns/space-sort-dropdown.tsx

Co-authored-by: Opender Singh <opender94@gmail.com>

* Move the placement hacks for the dropdown icon and tooltip into a separate file

* Fix lint errors

Co-authored-by: Opender Singh <opender94@gmail.com>
2021-08-11 14:23:29 +03:00
Opender Singh
251287062d
Use useAsync (#3888) 2021-08-10 23:57:13 +00:00
Opender Singh
6a1abbf3db
Migrate collections into their remote space (#3876)
* initial implementation

* take vcs as a parameter (so it's easier to mock and test)

* update console log and exit early if not logged in

* add unit tests for migration

* add async filter and replace vcs find by root document

* lint fix

* fix memory driver and add test for hasProjectForRootDocument

* setup check on interval

* move migration logic and interval from main process to render process, because session state and a VCS instance dont work in the main process yet

* update test

* replace constructor with static class creator

* replace interval with login logout hook

* remove effect helpers

* empty commit to trigger CI
2021-08-10 23:35:05 +00:00
Paul Johnson
366a54f630
Allow optional specification of Origin header for Auth Code flow + PKCE (#3783)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-08-09 22:30:32 +00:00
Opender Singh
f48cef02bd
Update some ESLint rules (#3883) 2021-08-08 05:08:56 +00:00
Opender Singh
853cefca75
React ESLint rules (#3884) 2021-08-07 08:03:56 +00:00
Opender Singh
be2c347cf1
Pull a project into the correct space (#3873)
* use selector and improve types

* Loading remote projects now requires a team id; it is no longer optional

* activate with workspace or workspace id

* extract helper

* normalize graphql return type for a remote project to include the team

* pull into the space as defined by the project team id, not by the active space. If the space doesn't exist, create it

* use helper

* make testing easier by putting the active space name as the first breadcrumb

* fix tests

* add the active space into the title

* refactor and add tests

* remove todo
2021-08-05 23:30:31 +00:00
James Gatz
e683a02b16
[feat] Sort Dashboard Cards (#3850)
* Add sort order for space items

* Add ability to sort dashboard cards

* Fix TS errors

* Fix lint errors

* Add sort options for modified time

* Move workspace-card to a new file and use redux global state for persistence

* Remove ordering from the space model

* Use currying for the workspace mapping function and clean up types

* Expand testcase for activespace initialization

* Fix lint errors

* Remove date defaults and check if modifedLocally is defined

* Fixup: Use global selector for space order

* Fixup: Decouple space order initialization from active space

* Fixup: Use named exports in SpaceSortDropdown and rename handler in WrapperHome
2021-08-05 20:38:58 +03:00
Giuseppe B
bae8195dfd
Fix for GraphQL - now autocomplete does not reset anymore (#3468) 2021-08-02 10:12:58 +00:00
Dimitri Mitropoulos
70d5797d94
use optional chaining (#3867) 2021-07-30 15:32:08 +12:00
Opender Singh
706b0f076a
Disable cert validation option while running tests in inso (#3492) 2021-07-30 03:10:19 +00:00
Dimitri Mitropoulos
5e00656807
adds jsx indentation rules (#3860) 2021-07-29 08:52:17 -07:00
Opender Singh
8b011d68cf
Types for DnD, reuse and connect sidebar components to redux (#3853) 2021-07-29 05:12:59 +00:00
Opender Singh
7397370f4b
Use activateWorkspace action to activate a workspace (#3856)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-07-29 04:55:31 +00:00
NAVAL
21b02cc61a
add: support for plain PKCE challenge method (#3843) 2021-07-29 04:31:02 +00:00
Opender Singh
37815afd2e
Duplicate from dashboard and from settings (#3820) 2021-07-28 21:49:02 +00:00
Dimitri Mitropoulos
6431378392
[followup] Local GraphQL schema UX improvements (#3847) 2021-07-28 19:26:55 +00:00
Opender Singh
a12ccc3faf
Use strings in Space Dropdown (#3835) 2021-07-26 16:05:37 +00:00
Opender Singh
2cfaab472d
Remove the share modal (#3846) 2021-07-26 22:05:45 +12:00
Opender Singh
7abde2a017
Ensure a base space always exists (+ fix gRPC sub-environments) (#3819) 2021-07-26 00:49:34 +00:00
John Chadwick
eb67958846
Refactor markdown preview to minimize unsafe HTML. (#3842)
Fixes INS-805.
2021-07-23 12:55:47 -07:00
Dimitri Mitropoulos
0178533e52
Feat/eslint import order (#3782) 2021-07-23 11:04:56 +12:00
Dimitri Mitropoulos
92206c4f93
UI for Local/Remote spaces (#3824) 2021-07-22 10:56:14 -04:00
Opender Singh
b7ca6366d0
git clone into the active space (#3775) 2021-07-20 01:05:08 +00:00
Daniel H
45000573c4
Add text/plain body type (#3793)
Co-authored-by: Daniel H <>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-07-19 22:34:01 +00:00
Grégoire Lodi
7831682278
Load local GraphQL schema (#3803)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-07-19 22:02:12 +00:00
John Chadwick
10c9940628
Implement color scheme badge artifact workaround. (#3823)
* Implement color scheme badge artifact workaround.

Color scheme badges have a small gap artifact caused by an interplay
between anti-aliasing and alpha blending. Here, we use pseudo-classes to
ensure one opaque pixel of intersection between the shadow border and
the color badge.

* Improved workaround for color badge bug.

This improved workaround has fewer limitations and reduces visual
artifacts during transitions.

* Don't fade ring when hovering in OS theme mode.

This tiny change makes the transition look a lot better.
2021-07-19 12:44:24 -07:00
Opender Singh
d241093ec2
Import into the active space (#3795) 2021-07-14 00:10:49 +00:00
Dimitri Mitropoulos
ca0f6eb9d0
Improvements to theme selection (#3506) 2021-07-13 23:49:32 +00:00
Florian Hämmerle
92e0970281
response-timer: use tabular-nums for uniform width (#3800) 2021-07-09 17:03:11 -07:00
Opender Singh
bbadeac090 Merge branch 'hotfix/INS-782-exportFormat' into develop 2021-07-08 09:16:59 +12:00
Opender Singh
ff49cb3093 don't call done callback unless it exists 2021-07-07 11:47:54 +12:00
Opender Singh
3e8b5b1c20
Force to design workspace when coming from git (#3774) 2021-07-05 21:22:27 +12:00
Dimitri Mitropoulos
9f3705a8a8
adds eslint rule for requiring default case statements (#3779) 2021-07-01 20:47:10 +00:00
Dimitri Mitropoulos
d87612c032
removes storybook (and related dependencies) from insomnia-app (#3502) 2021-07-01 08:15:19 -04:00
Ross McDonald
c24d08ad66
Update Spectral to latest release (#3179) 2021-06-30 15:11:20 +00:00
Opender Singh
837cadebaf
Remove the need for an active workspace to always exist (#3494) 2021-06-30 07:47:17 +00:00
Opender Singh
5c32700344
ensure teamId is sent for push and pull (#3477)
* ensure teamId is provided for push and pull

* refactor

* Fix tests

* fix build

* fix lint

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-06-26 07:32:29 +12:00
Nick Hackman
a03c098974
feat: introduce request group settings (name, description, and move/copy) (#3350) 2021-06-25 10:21:07 -04:00
Darren Jennings
5ddd5420b3
doc(code-snippets): update link to use Kong org (#3504) 2021-06-24 09:35:48 +12:00
Giuseppe B
062167a9d6 Introducing tooltip helper for Vim mode on MacOS (#3476)
* Introducing tooltip helper for Vim mode on MacOS

* Fix article link and update tooltip text

Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-06-23 11:36:55 +12:00
Dimitri Mitropoulos
bcad8691a7 fix CodeMirror crash (#3451) 2021-06-23 11:33:18 +12:00
Dimitri Mitropoulos
7733d6b4fa clears PureComponent error (#3449) 2021-06-23 11:30:05 +12:00
Eric Reynolds
f72fca6a7b Margin control to insomnia-component styled buttons (#3429) 2021-06-23 11:29:21 +12:00
Dimitri Mitropoulos
c464e05728 updates codemirror (in anticipation of upcoming PR bugfix) (#3405)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-06-23 11:27:55 +12:00
Eric Reynolds
4c1475936c INS-674 - First pass at making the send button more visible (#3414)
* INS-674 - First pass at making the send button more visible

* [wip] adds rect for send button

* Update colors in the SVG to match send button

* Update the gRPC send button to also use theme colors

* Adding left margin to send button

Co-authored-by: Eric Reynolds <eric.reynolds@konghq.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-06-23 11:26:34 +12:00
Opender Singh
611d73804f
Automatically enable sync for collections created in a remote space (#3474) 2021-06-22 20:45:30 +00:00
Giuseppe B
aeabbfd813
Introducing tooltip helper for Vim mode on MacOS (#3476)
* Introducing tooltip helper for Vim mode on MacOS

* Fix article link and update tooltip text

Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-06-17 09:32:23 -04:00
Dimitri Mitropoulos
c0412b1092
use isWorkspace guards (#3481) 2021-06-17 09:05:31 +12:00
Dimitri Mitropoulos
b5fe435710
have and use guards for all models (#3480) 2021-06-16 14:19:00 -05:00
Opender Singh
58160e82bc
Filter remote collections by the active space (#3456)
Co-authored-by: David Marby <david@dmarby.se>
2021-06-15 04:21:06 +00:00
Dimitri Mitropoulos
cdd279e09a
Provides Space id to "export all" (#3455) 2021-06-14 15:18:35 +00:00
Opender Singh
2471147642
🧹 Convert VCS to named export and rename file (#3471)
* rename file from index.ts -> vcs.ts

* convert to named export

* fix jest.mock path for moved file

* update class mock

* update mocked function
2021-06-15 01:28:44 +12:00
Dimitri Mitropoulos
9cb4f2a55a
fix CodeMirror crash (#3451) 2021-06-10 16:15:37 -04:00
Opender Singh
4daa44e370
Create a workspace in the active space and filter dashboard for active space (#3446) 2021-06-09 07:26:29 -04:00
Dimitri Mitropoulos
6f6fa0894f
fix pluralization of document in bottom bar (#3458) 2021-06-08 21:02:43 +00:00
Dimitri Mitropoulos
91ab07966b
clears PureComponent error (#3449) 2021-06-07 07:21:45 -04:00
Opender Singh
f625b34a77
Fetch and store remote spaces (#3441)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-06-04 19:20:16 +12:00
Eric Reynolds
fa23003de7
Margin control to insomnia-component styled buttons (#3429) 2021-06-02 11:47:23 -04:00
Opender Singh
36b2462201
Create, rename and delete a local space (#3433) 2021-06-02 13:46:26 +12:00
Opender Singh
d619b8d84e
convert strings to a single object (#3432) 2021-06-01 08:52:41 -04:00
Dimitri Mitropoulos
ed63c7b458
updates codemirror (in anticipation of upcoming PR bugfix) (#3405)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-28 08:22:27 +12:00
Opender Singh
f18542ffe9
Add Space selector, with the logic to select a space (#3427) 2021-05-28 08:02:16 +12:00
Opender Singh
d7b630f17b
Add formatting ESLint rules (#3425)
* add rules

* run lint:fix

* quick manual fix for lint errors

* indent fix

* add jsx prop multiline

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-05-27 14:00:32 -04:00
Eric Reynolds
7cb1051634
INS-674 - First pass at making the send button more visible (#3414)
* INS-674 - First pass at making the send button more visible

* [wip] adds rect for send button

* Update colors in the SVG to match send button

* Update the gRPC send button to also use theme colors

* Adding left margin to send button

Co-authored-by: Eric Reynolds <eric.reynolds@konghq.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-27 21:41:25 +12:00
Akhil Sasidharan
0b38c68c1f
fix: insomnia open dialog for proto directory can't select directories (#3348)
* fix: insomnia open dialog for proto directory can't select directories

* uses a named export for selectFileOrFolder

(also, removes original js file from rebase)

* clears error by leveraging exhaustiveness check

* fixes bug: the `name` field is actually for a file filter

see the referenced pull request.

As for the `extensions: ['*']`, there's no reason I can see to include a filter and then tell the filter to then accept everything.

* update selectFileOrFolder mocks

* use switch (for exhaustiveness checking) and type selectedFormat

* removes unnecessary filters from _save_ dialog

from the docs:
> The filters specifies an array of file types that can be displayed

As suspected, this is not needed.  A user is free to save it wherever they want.

* adds extension to saved file

not sure why this was missing before, but it appears to have been a bug

* formatting updates

best to "ignore whitespace" for this commit.  I did this with the hope of using the `ThunkAction` type from `redux-thunk`, but once I got them all looking good and started adding the type I quickly learned there's quite a bit more work to do in this area before we can have such a thing.  I therefore opted to just call it a day at that and take the (no-op) formatting changes and typings.

* removes remaining name filters from save dialogs

same reason as the 2nd to prior commit - they cause the bug

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-26 10:24:21 -04:00
Josh Soref
9006babd38
fix spelling (#2976) 2021-05-25 12:16:43 -04:00
Dimitri Mitropoulos
42341e6e6e
fixes 'previewHidden' of undefined error (#3409)
* readability improvements and reduced indirection

* adds type for handleShowModifyCookieModal

* correctly types wrapperProps property, thereby fixing bug.

if you add `console.log({ previewHidden, propsOne: this.props.wrapperProps.activeWorkspaceMeta });` to the third line of `_renderPreview()` you'll see that `activeWorkspaceMeta` is indeed, sometimes, `undefined.

Also, there's no reason to use `await` on `this.setState`.  I didn't find any more of these in the codebase, I just found this one.

* adds type for swaggerUiSpec

* undoes lifting props to state

almost always, this is done for performance reasons, but I removed it the app is working pretty quick-and-snappy for me without needing to introduced duplicated application state and keep track of it.

I went ahead and measured it before and after this commit (using performance.now):

before = [
  1.93500000750646,
  1.149999996414408,
  0.9499999869149178,
  0.9950000094249845,
  0.8650000090710819,
  1.560000004246831,
  1.5699999930802733,
  0.8450000023003668,
  1.4550000196322799,
  1.3299999991431832,
  1.3050000125076622,
  1.4099999971222132,
  1.3099999923724681,
  1.3100000214762986,
  1.1999999987892807,
  1.0099999781232327,
  0.830000004498288,
  1.2449999921955168,
  1.2500000011641532,
  1.4349999837577343,
]

after = [
  2.9400000057648867,
  2.449999999953434,
  2.33499999740161,
  2.2849999950267375,
  1.7700000025797635,
  1.8149999959859997,
  2.1249999990686774,
  1.9150000007357448,
  2.074999996693805,
  1.9899999897461385,
  2.0200000144541264,
  2.869999996619299,
  2.1450000058393925,
  2.33499999740161,
  2.130000008037314,
  2.119999990100041,
  2.144999976735562,
  2.130000008037314,
  2.380000009201467,
  2.8999999922234565,
]

> R.mean(before)
> 1.2480000004870817

> R.mean(after)
> 2.243749999080319

> R.median(before)
> 1.2775000068359077

> R.median(after)
> 2.137499992386438

So basically, considering a 16ms render rate (i.e. 60hz), 1ms saved by lifting props to state makes no difference in application performance.

This is committed separately so that if there's any reason we want to keep the prior implementation, we can just still do so.
2021-05-24 10:14:00 -04:00
Dimitri Mitropoulos
860565f3a6
fixes react controlled input error (#3391)
* fix ts-expect-error

* removes useless await

see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/await-thenable.md

We're not quite ready to have this rule on everywhere, but in this case I can see that it's correct to follow.

* add comment about magic number

and moves the assignment to the one place it's used

I opted not to make a ticket because we are recently running out of tickets and this seems to be a relatively small thing @reynolek please confirm this is the correct course of action.

* initialize ref to reflect reality (and include actual type)

* fixes root cause of error, inlines one-liners

the error with the type of `_handleInputColorChange` was due to `onChange` being the wrong prop to use (where `onChange` is the one we want).

* use onChange instead of onInput to access correct types

ultimately, since react's behavior diverged from the DOM behavior to match onInput, this should have no effect on any functionality since react assigns this event to `onChange` anyway.  see https://github.com/facebook/react/blob/master/fixtures/attribute-behavior/src/attributes.js#L2089

* clears remaining ts-expect-errors in file

* updates fallback call per review feedback
2021-05-19 08:24:01 -04:00
Roger Guasch
3972bb50ab
Theme preview tile for OS themes (#3387)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-19 18:14:11 +12:00
cobwebsonsale
212ca5d764
Allow switching sub-environment inside Manage Environment modal (#2891)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-19 17:46:18 +12:00
Dimitri Mitropoulos
6e073c8a38
use same array-type rule, project-wide (#3395) 2021-05-19 08:32:18 +12:00
Dimitri Mitropoulos
e161f45b06
ResponseTimer callstack exceeded (#3386)
* no default export (prepping for hooks)

* makes logic match other implementation

note that above in `componentDidUpdate` it uses `<= 0`, whereas here it uses `> 0` but then only checks for false.

Also, logically, there's no way to ever get `aria-hidden="true"` since it returns early so that entire attribute can just be removed.

* removes fake private class member syntax

this is moving to hooks anyway, but in the meantime...

* undoes calling identical code twice in a row...

* condenses class methods to prepare for hooks

* hooks refactor

fairly faithful to the original, this attempts to just refactor to hooks.  this exposes, again, the fact that we're setting state within useEffect.

* removes 200 ms offset for response time

so that, now, you know, the time reported is the actual time.

* adds logging for response timer lage

* removes timer logging and `responseTime` prop after PR discussion

it's definitely fruitful, but the fix for the callstack exceeded is what needs to be the focus.

* removes shadowed variable per PR feedback

* reinstates and documents 200ms compensation

* add delay endpoint to example server

* Update packages/insomnia-app/app/ui/components/response-timer.tsx

Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-17 18:58:05 -05:00
Opender Singh
1d0f6faf42
check the length of react children correctly (#3380) 2021-05-13 09:01:06 -04:00
Dimitri Mitropoulos
9faf0b3fbb
sanitize all electron.shell.openExternal calls (#3336)
* sanitize all electron.shell.openExternal calls

* adds lint rule to disallow future usage of `openExternal`

* updates to use URL constructor per review feedback
2021-05-12 16:20:52 -04:00
Josh Soref
d0d3f27e90
Consistently use infinity (#3345)
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2021-05-12 08:12:58 -04: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
Jessé Souza
88049326d9
Misspelled error message when installing a plugin fails (#3304) 2021-04-20 13:08:12 +12:00
David Marby
c69433fecc
Prompt existing users about analytics (#3278)
* Prompt existing users about analytics

* Fix the tests

* Set hasPromptedAnalytics to true when going through the onboarding flow

* Add comments

* Show the analytics prompt after migrating if needed as well

* test: add a few more tests for analytics activity

Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-04-15 16:33:21 +02:00
Eric Reynolds
67c2899e1d
fix(tracking data) - Honor data sharing (#3264)
* fix(tracking data) - Honor data sharing

* Utilizes the Data Sharing preference to determine what data is
sent to the notification endpoint

* fix(tracking data) - Move 2 variables that fall under Service Data

* Stop sending aggregated metrics to the notification endpoint

* Disable sending of segment events when analytics are disabled

Co-authored-by: Eric Reynolds <eric.reynolds@konghq.com>
Co-authored-by: David Marby <david@dmarby.se>
2021-04-07 10:37:11 -07:00
Sayooj Sojen
351afde43f
Expose identity token for oauth2 (#3211) 2021-04-05 13:03:34 -04:00
Opender Singh
3b2306adb2
Improve git clone behavior when working with repositories with existing files (#3247) 2021-04-05 11:50:55 -04:00
Dimitri Mitropoulos
45c210eb41
SSH/SCP/HTTPS git URLs with/without .git suffix; update isomorphic-git
Co-authored-by: Opender Singh <opender94@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-04-01 14:36:11 +13:00
Mike Ellan
1052e2c489
Updating cards to display accurate latest change timestamp (#3201)
Updating cards to display accurate latest change timestamp
2021-03-22 14:58:30 -04:00
Mike Ellan
fd46942a6f
Integrating loading state, refreshing props > re-paint (#3208)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-03-22 14:39:33 -04:00
Opender Singh
eff9cda1b2
Use workspace scope enum everywhere appropriate (#3199) 2021-03-18 11:37:32 +13:00
Opender Singh
42aff871b3
Fix password editor props (#3200) 2021-03-18 10:10:44 +13:00
outils-tiers-metafactory
224cb13aa6
Closes stream to unlock file (#3015)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-03-18 10:09:30 +13:00
Mike Ellan
47dd90a22b
Rename workspace scope from designer to design (#3194)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-03-17 12:28:12 +13:00
Florian Stellbrink
565f389d36
Add OS dark mode support (#2868)
* Add settings for color scheme detection and themes

Default light and dark themes can still be changed.
For now its studio-light and default for core, and studio-dark and studio-light for designer.

* Add color scheme type and supporting methods

The detection of dark scheme is based on the background color at the moment.
This seems to work pretty well, but is not an ideal solution.
I think themes should at least get to override this.

* Add support for choosing light and dark theme to settings

This adds a checkbox to the theme settings that determines whether we use the OS color scheme.
If we don't (default) everything stays the same as before.
If we do, themes are rendered in two groups. One for the light themes and one for the dark themes. They can be chosen independently. None of this overrides the default theme choice.

* Add padding to the theme settings tab

Themes are still aligned by adding negative margin.
A bit of a hack, open for suggestions.

* Update theme on OS color scheme change

* Replace usages of setTheme with applyColorScheme

This makes sure that we don't override the user's choice.

* Update packages/insomnia-app/app/plugins/misc.js

Co-authored-by: Opender Singh <opender94@gmail.com>

* Remove dark mode heuristic

* Remove unused button value

* Update theme settings design

* Update packages/insomnia-app/app/ui/components/settings/theme.js

Co-authored-by: Opender Singh <opender94@gmail.com>

* Update packages/insomnia-app/app/ui/components/settings/theme.js

Co-authored-by: Opender Singh <opender94@gmail.com>

* Replace object literal lookups

Do not use object literal lookups to make code more readable

* Remove unused parameter

* Disable default theme select when auto detection is enabled

* Fix imports after rebase

* Update packages/insomnia-app/app/ui/components/modals/settings-modal.js

Co-authored-by: Opender Singh <opender94@gmail.com>

* Update packages/insomnia-app/app/ui/components/modals/settings-modal.js

Co-authored-by: Opender Singh <opender94@gmail.com>

* Remove theme header

* Disable hover animation and border on disabled theme buttons

* Clean up double negation in css

Replace :not(:disabled) with :enabled. Not sure what I was thinking there.

* Update index.js

Co-authored-by: Opender Singh <opender94@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-03-13 16:38:54 +13:00
Opender Singh
7aa56ef7f6
chore: remove redundant code (#3146) 2021-03-11 10:46:09 +13:00
Mike Ellan
84b9b84fdf
Card order by date modified (#3170)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-03-10 17:33:38 +13:00
Mike Ellan
f1539e2b40
On create nav to new (#3174) 2021-03-10 11:55:45 +13:00
Opender Singh
19d5a28e9e
Fix saving of number preferences (#3165) 2021-03-10 10:50:35 +13:00
Opender Singh
dc150ff015
Better handling of .DS_Store files during migration (#3164) 2021-03-10 10:45:59 +13:00
Opender Singh
2c9bffd84c
Rename Workspace verbiage (#3145) 2021-03-04 19:09:34 +01:00
Opender Singh
d68509e81d
chore: update documentation links (#3144) 2021-03-04 14:33:46 +01:00
Opender Singh
23c05c4bb9
Pluralize document count label (#3143) 2021-03-04 11:51:38 +13:00
Opender Singh
a7784d4160
Fix & add smoke tests (#3136)
* chore: refactor

* chore: fix one test

* chore: fix all tests

* chore: fix all existing tests

* chore: add prompting tests

* chore: ignore flaky test for now
2021-03-04 09:00:56 +13:00
Opender Singh
da3305cb42
Validate migration directories exist (#3137) 2021-03-03 19:43:17 +01:00
SaintAPI
a2bc704f80
Differential (Additive/Removal) patching when switching between design / debug (#3124)
* fix(import) do differential patching for design activity imports

This patch adds differential patching for imports that occur during the switching between
design and debug tabs inside of Designer. As reported through #2971, and others, this patch
favors existing data over imported data, values that exist already on the document will remain
unchanged, only new values (including array based values) will be added / removed.

This also includes a bypass feature for urls, currently these options are not exposed through
the interface but could be. This feature is an object to allow for future properties for
preference-based patching.

- Adds `options.enableDiffBasedPatching` and `options.enableDiffDeep` to `importRaw` for backwards compat.
- Adds `options.bypassDiffProps.url` for url bypassing and use an object for future items.
- Adds `diffPatchObj` based on differential patching for objects (works with arrays as well).

Future ideas:

- `hasBeenModifiedByUser` property map object to allow changing properties that haven't been touched by the user with options.

fixes: #2971, #2882, #3038, #2442

* adds some basic tests

- also adds jest (which was (mistakenly) not there before)
- does not call `.hasOwnProperty` directly, per https://eslint.org/docs/rules/no-prototype-builtins (which, we will add more formally at a later date)

* don't special-case workspaces

this ensures the behavior of the initial PR is more preserved

Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-03-03 12:57:09 -05:00
Mike Ellan
4e09e684d2
Migration flow stylistic updates (#3132) 2021-03-03 15:43:37 +13:00
Opender Singh
049964bb9b
Prompt for import as collection or document (#3130)
* feat: add prompt and update import logic

* feat: update usages and plugin api

* chore: WIP

* chore: convert to options

* chore: don't create workspace model until needed

* chore: add OR condition

* chore: add workspace name and don't change scope

* feat: prompt with appropriate name

* chore: rename

* chore: rename type

* chore: update signature

* chore: properly type the import functions

* feat: don't activate the workspace after importing

* chore: show loading on homepage

* fix: typo

* chore: fix tests and rename

* Update packages/insomnia-app/app/common/__tests__/import.test.js

Co-authored-by: David Marby <david@dmarby.se>

Co-authored-by: David Marby <david@dmarby.se>
2021-03-03 10:16:48 +13:00
Dimitri Mitropoulos
4b993a7762
style updates for core theme (#3134)
[INS-452]
2021-03-02 11:14:19 -05:00
Opender Singh
edd447f38e
Add migration analytics events (#3123) 2021-03-02 12:13:51 +13:00
Opender Singh
00084b65f9
Update workspace or api spec name as appropriate (#3122) 2021-03-02 10:32:32 +13:00
David Marby
f445034738
Portable windows builds (#3125)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-02-28 15:54:18 +01:00
David Marby
e1812efdb3
Add initial segment events (#3121) 2021-02-26 20:57:19 +01:00
Opender Singh
6f3d2666f8
Add option to disable migrating workspaces (#3108) 2021-02-26 12:01:46 +13:00
Tharun Rajendran
3b81808e1d
show inline reveal password option for auth (#2974)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-02-26 11:14:11 +13:00
Forrest
ff1c70f437
Set a minimum value for fontSize setting (#3042)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-02-26 10:48:23 +13:00
David Marby
1b718165d7
Update the website links (#3120) 2021-02-26 10:33:38 +13:00
Opender Singh
b8f76deff9
Add plugin bundle to default config (#3092) 2021-02-26 10:10:21 +13:00
Opender Singh
5e31295174
Update onboarding flow (#3101) 2021-02-26 09:13:37 +13:00