Commit Graph

1176 Commits

Author SHA1 Message Date
Amaan Iqbal
6df749dbdc
Add response time in api response to test latency (#3465)
* Add response time in api response to test latency

* linting fixes

Co-authored-by: Eric Reynolds <eric.reynolds@konghq.com>
2021-06-11 16:32:21 -07:00
David Marby
3362f30de6
Make _getOrCreateRemoteProject able to specify what team the project should belong to (#3462)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-06-11 14:54:48 +12:00
Dimitri Mitropoulos
9cb4f2a55a
fix CodeMirror crash (#3451) 2021-06-10 16:15:37 -04:00
Dimitri Mitropoulos
1f0612a418
adds redux-devtools back (#3460)
* adds redux-devtools back

I had to delete anything under `~/.config/insomnia-app/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd*` to get this to work.  Apparently there's some old state left around from the prior version or something when it was broken that prevents a migration?

* improves logging (partly to compensate for bug in upstream)

see: https://github.com/MarshallOfSound/electron-devtools-installer/issues/180
2021-06-09 20:36:48 -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
5774a0ac09
updates node-libcurl to 2.3.3 (#3450) 2021-06-07 12:15:59 -04: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
David Marby
0d02db0679
Make it possible to get remote projects filtered by team (#3445) 2021-06-03 22:44:52 +02:00
Opender Singh
83f6c2051c Improve modal test util types (#3435) 2021-06-03 20:24:53 +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
Opender Singh
deda7a37b7
Add space data model (#3424) 2021-05-27 15:59:54 +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
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