* 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>
* 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>
* 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>
The issue was located in the `exportHar` function. It was not handled `file` param correctly.
For this type of file, the `value` attribute is empty, therefore we should take instead the `fileName`
Closes#2282
* Hacked insomnia lib package to get Insomnia's networking in tests
* Some small tweaks
* Got it mostly working
* Tweak
* Fix
* Fix pkg
* Fix some things
* Add comment
* Comment out log
* Some tweaks after doing a self code review
* Fix test
* Update app name for `insomnia-send-request`
* Update package-lock
* Update package-locks
* Fix tests
* Add gitignore
* Fix tests hopefully
* Fix accidental dep deletions
* Fix tests again
* Mock for all tests
* Update tests again
* Don't compile for Electron for tests
* Update release scripts to disable tests
* Initial commit
* WIP
* Fix lint
* Fix tests
* Add test for workspace migration
* Rename title to use fileName instead of workspace name for designer
* Linting
* Add breaking test
* Remove preferential ordering of tags over variables in nunjucks
* Remove preferential ordering of tags over variables in nunjucks
* simplify nunjucks sort
* Add breaking test for incorrect order
* Update json-order and consume
* Refine test with dataPropertyOrder
* Tests
* add note
* Add to test
* Missed the await
* Update nunjucks-tags.js
(Fixes bug #1288) Extract parent from nunjucks tag when it is a nested property nested. The parent is then used to fetch the keyContext
* Revert "Update nunjucks-tags.js"
This reverts commit 4d4da99de3.
* Update render.js
Added function that recursively gets the keys. So they will show the correct parent location in the nunjuck tooltip.
* Rework after review from gschier
A few little changes after review of the initial change.
* Added keySource for Arrays
Added loop to store Key and Source when item is an Array.