Commit Graph

1157 Commits

Author SHA1 Message Date
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
Opender Singh
88ed96fc47 merge release branch with develop and resolve conflicts 2021-05-25 09:30:09 +12:00
Opender Singh
f2609fcaa9
show both name and uri during import through insomnia protocol (#3407)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-05-25 09:25:13 +12: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
7860be36e3
adds logging for when setting default protocol client fails (#3408)
* adds logging for when setting default protocol client fails

https://www.electronjs.org/docs/api/app#appsetasdefaultprotocolclientprotocol-path-args

* logs `isDefaultProtocolClient` and `getApplicationNameForProtocol`
2021-05-23 22:22:22 -04:00
Dimitri Mitropoulos
33460a4c44
fixes error code used when build fails (#3402) 2021-05-20 09:50:10 -04:00
Opender Singh
9c5742ae73 publish npm packages lib@2.3.0-beta.3 2021-05-20 13:12:04 +12:00
Opender Singh
6b8cf10689 bump to beta.1 2021-05-20 13:05:26 +12:00
David Marby
13a45ff621
Fix the ca certs import (#3404) 2021-05-20 10:16:55 +12:00
Dimitri Mitropoulos
fa72e0977b
reverts changes to main.min.js artifact location (#3401) 2021-05-19 15:00:12 -04:00
Dimitri Mitropoulos
a060562697
Fixes clean scripts (#3400)
* removes (unused and unwanted) husky scripts

might as well, it's only taking up space for nothing in our node_modules

* adds `lerna run clean` to main clean script

we didn't have `clean` scripts in the packages before, but now that we do, it makes sense to.... hahah... _use them_.

Note that it's important that we run the package scripts first, because otherwise after the rimraf (which is now at the end) there's no `lerna` left to call.

* adds missing clean script to insomnia-components

although it looks like there are other changes at first glance, there shouldn't be any behavioral differences now except the fact that build will always generate SVGs (which, was an oversight/bug that it wasn't before).  We need this to occur so that when we clean it removes the things that were built, and when we build it replaces those same things.

* adds a postclean script to insomnia-app like every other package

I'll be honest, I'm not entirely sure what the reason is for having `postclean` scripts in every package with (mostly) `rimraf dist` (i.e. instead of just including that in the main clean script at the end), but that's clearly the convention - so for now I'm just following it

* removes references to old build artifact location

well, except for the .gitignore.  I guess I could remove it from the .gitignore, commit it, commit deleting it, which would clear it from everyone's projects... but I'll just leave it there for a bit in the .gitignore.  hopefully people either start fresh or run `clean` from the root every once in a while, which will clean this up.

After a few weeks or months we can remove these two references (in the package.json.clean and .gitignore) altogether if we feel like it.

* removes unused reference in config to build artifact

I searched high and low for every place I could find that consumes this file and none of them seem to use this field anyway.  And even if they did, it's wrong.  In fact, it's been wrong for a while I'd guess because (relative to the root, if that's what it was intended to mean).

As far as I can tell this was added c6a7c4d682 (diff-6918d2464ad7fb0f3e985d8587ce0c4218eeba6c6dea60c58642251f4db99ecb)

So I even checked out that commit and looked at all usages of that file at that time and it was, there too, unused (so far as I can tell).  Appears to be a case of wishful thinking that it'd be useful for something, not sure.
2021-05-19 09:56:10 -04:00
David Marby
34b8c17260 publish npm packages lib@2.3.0-beta.2 2021-05-19 14:50:58 +02: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
Opender Singh
a3a6c0fdfd
fail if non zero exit code during build (#3399) 2021-05-19 23:41:50 +12:00
Opender Singh
b93d963712 publish npm packages lib@2.3.0-beta.1 2021-05-19 18:51:57 +12: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
Opender Singh
d713d27578 add missing await in release script 2021-05-19 10:22:03 +12:00
Opender Singh
b2040dacd2 publish npm packages lib@2.3.0-beta.0 2021-05-19 09:21:52 +12:00
Dimitri Mitropoulos
6e073c8a38
use same array-type rule, project-wide (#3395) 2021-05-19 08:32:18 +12:00
Opender Singh
50d72b8991 bump version 2021-05-18 15:56:38 +12:00
Dimitri Mitropoulos
06d099f9d3
fixes redux-devtools-specific error, "sync" is not available (#3390)
until https://github.com/reduxjs/redux-devtools/pull/711 is available to us, our best course of action is to remove it for now
2021-05-17 19:26:52 -05: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
Dimitri Mitropoulos
2dc4299e39
fix node-libcurl imports (#3384)
* fix node-libcurl imports

* removes unnecessary function wrapper

and anyway, `number` is not the correct type (which is what motivated this change in the first place), `CurlFeature` is.

* updates type for setOpt

see https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgOIBs4GcvIN4BQyxyWwAXhAFzIDkWAtnOurcgD50MQAmwArgzadamKAHMItANwEAvgQKhIsRCgDCAe00BrYCkIlkYAJ4AHanSz9xcKMLoIAFpoSbMkdU+BmZ8xQD0AcjK0PBIyJoAbtDomnA8WErgYWrIAIIIYMCaIPhEJBBwYACMABSaZtm5NLQAssDoOrQANMjimDg0GNhYAJQ0UZrAPLJGRaUVVTkgtVq6+lityG4LlvN6EAPIQyOyCgRuIFhgyIjVsxlZM8gAvPnjxeWVF208xXB9+MhByGZQmgARugIAwaKYLCFcCBNKdQDBoFBeGcQDxkABJZBOOAxZAw5AAdzgJmMmmM5hQwFOsKc0AJwCwEAKRmIRyw7ggADo4uIyrRzjNORMSss8JFprk3h9kHI+syZf5DrkTshhQB1KBwMwWKA0TIXADatGFtAAundkFNXsh3mBPncAHzfX7-IEgsHkyEMvGwkIgBFQJFouCojFYnEofFEklgMkQynUsC0qD0xnytkc7maXnGp6i8XW21wGV9MaFJ4arU6q0zKV20uKgi-JHifhiZAwfgga65SIxKBxBJJTvdi6q4oAJhrNToDSayw6vW6nX6g2GowII57eQmU5eMzm2k2Szaq02NA2+m2uw3W7Hu+nIDr9rFLoBwNB4IpUJ9cP9iOREM0UxbFcSjYlSU9BNIiTOkGRQMpvQAAxDEwkOMWlIhAdASX3XIAH5iHSZAuxuBkQFoU43EDCAslVKlk05OUjAzEEsxzFs2zsDsu23fM8KfG1pVlRU2VOXdK21aAvwsTQYHHMAJwtR9ny+W4nVfYJXQ-D14x-GE-wDIMUWA8MwLJaNIL0qkYOTVMmRY5VMx5Pld2QSSdVoBtHkUlShPrfZAmCWDGUJTQoB0NpsFVAAPCwsl4KgmyCFLUrS9KMsyrKUoIAVciFJ4+TnZo2jFMhKFqRhmFYEtZHVTUpKgIrGhK75yssegmBYNhZTqydmvnUrSAoDqqu62qCAkhrq3qFr83ayqupq3rFDykACsmWhLwgE9vnjWpnFcdxiggLwfB6uV6qraA+W23axX2xwXDcDxTu8XwS0m-qtqPRZ80e2hDpek6zo+kSpuupqfrWe6oIO57js8d6LqCjCdpQAAqHgyQMjGwoiqLcAgOLaMgHgkuyymqepoJkuQAABMAsAAWmJ+KwFZwNwuQQEEg7YAoBVOxW24cBcu3DbymhzZ-opeGjte0GUd+RmWbZ0nOYBKAeb5mABaFiRBAgMWrsa27fqkIaAaBxG3vOz6VaZ1mSayTXud5tE9cF05haNk3vu22WLHl4GkftkTHbVl2OcRd3df1n3DdFsAvsUjybul-Qg46m3FeRz66dV532bd7WPdIWjcmDJPjZTtbJfNmHs5D23meccO5Uj4uNdjsu+cZI5q5F2vU5KdOobu5unoVk62-ziPgiL9XXd7nW0QHquzhr-3fMznap8BhHXrnjvC6d5eY65vv18r0NfeT1OJ3HxvjwP3PZ-bsG5SAA

to see why `any` is required, for now (at least)

* updates the getBodyBuffer parse calls now that the types are working

* return to prior approach, this time with a warning
2021-05-17 09:59:43 -04:00
Dimitri Mitropoulos
5a1f793547
adds mocha polyfill to clear it.each errors (#3383) 2021-05-13 16:45:17 -05:00
Opender Singh
1d0f6faf42
check the length of react children correctly (#3380) 2021-05-13 09:01:06 -04:00
Opender Singh
1ff28abb11
chore: add repository, bug urls, and license to plugins missing it (#3379) 2021-05-13 07:31:33 -04:00
Dimitri Mitropoulos
5fe277ee02
remove duplication of all jest configs (#3375)
* use jest-preset for all but app

* separate properties that are the same as the preset

for some reason, it doesn't work.  you get:
```
Preset ../../jest-preset.js not found.
```

This needs to be investigated.

* removes unused/unneeded npm script in `app`, `test:jest`
2021-05-13 07:29:02 -04:00
Roger Guasch
3b757251c9
Improve spec preview code font color (#3369) 2021-05-13 18:05:27 +12: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
Dimitri Mitropoulos
d9677611f5
enables react-redux devtools (#3373)
* add react and redux devtools

* convert to try-catch

* updates package-lock.json

Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-12 08:22:40 -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
Opender Singh
14ebadd8f9 publish npm packages lib@2.2.35 2021-04-29 08:50:33 +12:00
Opender Singh
663198c548 chore: bump version to 2021.3 stable 2021-04-29 08:47:18 +12:00
Opender Singh
dbdfaaa7a3 chore: bootstrap 2021-04-29 08:45:12 +12:00
Opender Singh
69d7514095
Tags for all of the plugins! (#3328)
* feat: add tags to regular plugins

* feat: plugin support for request validator plugins

* feat: add tags to security plugins

* feat: security plugins detecting the expected property

* chore: don't force publish and bump version

* publish npm packages lib@2.2.35-beta.4
2021-04-28 08:14:49 +12:00
Bruno Fusieger
1ea4b4b81f
Fix license metadata (#3233)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-04-23 08:21:22 +12:00
Opender Singh
4d07a0cfda chore: bump version to beta.1 2021-04-22 11:25:45 +12:00
Opender Singh
141685488d publish npm packages lib@2.2.35-beta.3 2021-04-22 11:14:08 +12:00
Opender Singh
44814d44c7 update versions 2021-04-22 11:12:25 +12:00
Opender Singh
6022ea2493 publish npm packages lib@2.2.35-beta.2 2021-04-22 11:10:30 +12:00
Opender Singh
64145a129e chore: bump versions in insomnia-app 2021-04-22 11:07:33 +12:00
Opender Singh
d90328e406 publish npm packages lib@2.2.35-beta.1 2021-04-22 11:01:51 +12:00
Opender Singh
8c6fcd8312 publish npm packages lib@2.2.35-beta.0 2021-04-22 10:02:24 +12:00
Opender Singh
a8bc2d3bd9 chore: update packagelock 2021-04-22 09:59:16 +12:00
Opender Singh
f03d60cd8d chore: bump to beta.0 2021-04-22 08:35:23 +12:00
Ramón Márquez
7e745c6bf6
Plugin API: Add getHeaders method to context.response (#3289)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-04-20 13:50:02 +12:00
AlexNaga
c4d72a21d1
fix: use insomnia default dark color during initial startup (#3303)
Co-authored-by: Alex <alex.naga@postnord.com>
2021-04-20 13:33:46 +12:00