Commit Graph

2880 Commits

Author SHA1 Message Date
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
8fb789f14d
[o2k] fix: kubernetes TLS implementation is (very) wrong (#3410)
* updates Kubernetes types to actually match Kuberenetes Ingress/v1beta1 API

* checks type of result in tests

among other cosmetic changes

* enables strict mode in o2k (but leaves bug it uncovered that this PR fixes)

I really do need this to complete the task at hand.  For example, there was an existing error in `ingressDocWithOverride`:

```
Type 'string | null | undefined' is not assignable to type 'string | undefined'.
  Type 'null' is not assignable to type 'string | undefined'.ts(2322)
kubernetes-config.ts(36, 3): The expected type comes from property 'path' which is declared here on type 'K8sHTTPIngressPath'
```

That is caught only by strict mode.  This is literally what I am fixing in this PR, so it seems like as good a time as any.  Thankfully, only took me ~30 minutes to do because it was already super close.

* fixtures for `kong-for-kubernetes`

* index exporters for actual exports

when I made these files, I didn't understand that the lower-level helpers are not actually exported by the library, therefore there's no reason to have these index.ts files.

Furthermore, the types file could use it's own for the same reason, because those types _are_ actually exported.

* fixes bug: TLS is now an array and a child of K8sIngress.spec

* updates 'yaml'

for some reason I cannot explain, suddenly the CI is failing constantly because of this package.  https://github.com/Kong/insomnia/runs/2639615988

The only `yaml` exports we use in`o2k` are `parse` and `stringify` and we don't re-export it in any way.  Therefore, we should be safe to update it (many other projects in the monorepo are on different versions anyway).  This recent version is written purely in TypeScript, so we don't need the types packages anymore.

* adds a few more docs
2021-05-24 08:23:51 -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
Opender Singh
be59ef1e3b
GH release workflow improvements (#3406) 2021-05-21 08:43:07 +12:00
Dimitri Mitropoulos
33460a4c44
fixes error code used when build fails (#3402) 2021-05-20 09:50:10 -04:00
Dimitri Mitropoulos
3605bc17cc
Feat/o2k improvements (#3396)
* makes this `yaml` import match all others

for better or for worse, until we upgrade `YAML` (it's now written in TypeScript) we should probably aim for consistency.

* adds overloads so that types of package exports

it would be FAR preferable to use an object with the arguments instead because then we don't have to fall into all the traps that come with overloads, but I am avoiding changing the actual call signature of these function.

* fixes and updates types

* corrects mispelling

* removes shim types and exports actual types from openapi-2-kong

we had everything in place for the rest of the build pipeline to consume these types, but were missing the main exports at the root index.ts file

* use actual openapi-2-kong types now that they're available

* use existing variable for filePath

* extracts o2k-specific helper data to live in o2k

evidently, this data is useful for the usage of o2k, therefore o2k should be the thing exporting it.

* use KubernetesManifest for name of kubernetes manifest union

when first naming this, I didn't have much more context than the property name (documents), so after taking a look,  it's clear that these are kubernetes manifests

* removes attempt at correctly typing overloads

I will return to this, and so I'm leaving it here in a commit rather than squashing it out, but I can't see a way to get it to work without changing the signature in a big way.

* fixes error (now that there are yaml types)

* makes `K8s` vs `Kubernetes` type terminology consistent

part of the motivation for this is that there are significant things in common between the two kinds of configs, making them closer in form is therefore ideal.

* updates mistake in name per review feedback
2021-05-19 22:49:50 -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
Opender Singh
456ff71709 remove --force-publish 2021-05-20 13:03:05 +12:00
Opender Singh
c78f019543 dont lock spectral and bring back prepare script 2021-05-20 12:56:49 +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
David Marby
59498ce28b Add back --force-publish 2021-05-19 14:50:17 +02:00
David Marby
65a53f45fd Fix .npmignore 2021-05-19 14:37:56 +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
5fa8f0069d
Enable ESLint & TS for smoke tests (#3397)
* remove babel and add configs

* add ts-node

* lint scripts

* eslint override

* remove type module

* add expect errors

* update js files to ts

* fix electron import

* remove errors

* update readme

* add build step

* typesync

* add eslintignore
2021-05-19 07:49:48 -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
Opender Singh
0855462a92 fix insomnia-importers 2021-05-19 18:49:45 +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
ce9637e6e2
Update lerna version message (#3393) 2021-05-19 11:27:09 +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
Opender Singh
2c6f8d9198 add --no-verify-access flag 2021-05-19 09:19:37 +12:00
Opender Singh
e8035146dc add --yes to publish 2021-05-19 08:50:06 +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
Opender Singh
a200e5da3c don't force publish everything 2021-05-18 15:56:30 +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
Opender Singh
1271f5a925
Publish NPM packages through CI (#3311)
* chore: update CI to publish npm packages during a release

* chore: test on all OSs prior to publishing npm packages and running a release

* auth with npm before publish
2021-05-15 09:09:11 +12:00
Opender Singh
5525e6c87f
Allow inso generate config to specify tags (#3381)
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-05-14 11:30:44 +12: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
5dad243ad9
Fix CI Intermittent failures (#3376)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-13 15:30:15 +12:00
Opender Singh
162ca5aec0
Fix vercel deployments (#3378) 2021-05-13 10:49:58 +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
78c4a18f0b
makes all package.json author fields consistent (#3338)
* makes all package.json author fields consistent

* adds Preston Alvarado as a contributor per review feedback.
2021-05-12 08:31:07 -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
dependabot[bot]
c442f58f4e
chore(deps): bump handlebars from 4.7.6 to 4.7.7 (#3361)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.6...v4.7.7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2021-05-12 08:04:54 -04:00
dependabot[bot]
f99cd9f16e
chore(deps): bump lodash from 4.17.19 to 4.17.21 (#3362)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 08:00:42 -04:00
dependabot[bot]
f1a78d0650
chore(deps): bump lodash in /packages/insomnia-importers (#3363)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 08:00:20 -04:00