Commit Graph

210 Commits

Author SHA1 Message Date
Opender Singh
7abde2a017
Ensure a base space always exists (+ fix gRPC sub-environments) (#3819) 2021-07-26 00:49:34 +00:00
Dimitri Mitropoulos
0178533e52
Feat/eslint import order (#3782) 2021-07-23 11:04:56 +12:00
Opender Singh
fcd546b005
clear models (#3830) 2021-07-22 12:21:41 +00: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
Opender Singh
d241093ec2
Import into the active space (#3795) 2021-07-14 00:10:49 +00: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
9c0f7660dc
Base Space export (#3479) 2021-06-30 15:33:02 +00: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
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
Eric Reynolds
d0fac873d0
Update types in networking layer for response times in testing (#3466)
plugin calls do not use curl, so set this instance to zero

Co-authored-by: Eric Reynolds <eric.reynolds@konghq.com>
2021-06-14 15:50:47 -07:00
Dimitri Mitropoulos
cdd279e09a
Provides Space id to "export all" (#3455) 2021-06-14 15:18:35 +00:00
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
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
Opender Singh
d619b8d84e
convert strings to a single object (#3432) 2021-06-01 08:52:41 -04: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
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
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
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
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
5f4c19da35
[TypeScript] Phase 1 & 2 (#3370)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-12 18:35:00 +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
Opender Singh
eff9cda1b2
Use workspace scope enum everywhere appropriate (#3199) 2021-03-18 11:37:32 +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
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
Dimitri Mitropoulos
c28aad3d8e
fix for sparse array in diff (#3142)
* fix for sparse array in diff

* updates test
2021-03-03 17:27:04 -05:00
SaintAPI
f1dbd4fdd3
fix: only change environment on fresh import (#2979)
Co-authored-by: SaintAPI <comfygangsta@gmail.com>
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-03-03 10:22:12 -08: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
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
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