* 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>
* 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
* VCS proof of concept underway!
* Stuff
* Some things
* Replace deprecated Electron makeSingleInstance
* Rename `window` variables so not to be confused with window object
* Don't unnecessarily update request when URL does not change
* Regenerate package-lock
* Fix tests + ESLint
* Publish
- insomnia-app@1.0.49
- insomnia-cookies@0.0.12
- insomnia-httpsnippet@1.16.18
- insomnia-importers@2.0.13
- insomnia-libcurl@0.0.23
- insomnia-prettify@0.1.7
- insomnia-url@0.1.6
- insomnia-xpath@1.0.9
- insomnia-plugin-base64@1.0.6
- insomnia-plugin-cookie-jar@1.0.8
- insomnia-plugin-core-themes@1.0.5
- insomnia-plugin-default-headers@1.1.9
- insomnia-plugin-file@1.0.7
- insomnia-plugin-hash@1.0.7
- insomnia-plugin-jsonpath@1.0.12
- insomnia-plugin-now@1.0.11
- insomnia-plugin-os@1.0.13
- insomnia-plugin-prompt@1.1.9
- insomnia-plugin-request@1.0.18
- insomnia-plugin-response@1.0.16
- insomnia-plugin-uuid@1.0.10
* Broken but w/e
* Some tweaks
* Big refactor. Create local snapshots and push done
* POC merging and a lot of improvements
* Lots of work done on initial UI/UX
* Fix old tests
* Atomic writes and size-based batches
* Update StageEntry definition once again to be better
* Factor out GraphQL query logic
* Merge algorithm, history modal, other minor things
* Fix test
* Merge, checkout, revert w/ user changes now work
* Force UI to refresh when switching branches changes active request
* Rough draft pull() and some cleanup
* E2EE stuff and some refactoring
* Add ability to share project with team and fixed tests
* VCS now created in root component and better remote project handling
* Remove unused definition
* Publish
- insomnia-account@0.0.2
- insomnia-app@1.1.1
- insomnia-cookies@0.0.14
- insomnia-httpsnippet@1.16.20
- insomnia-importers@2.0.15
- insomnia-libcurl@0.0.25
- insomnia-prettify@0.1.9
- insomnia-sync@0.0.2
- insomnia-url@0.1.8
- insomnia-xpath@1.0.11
- insomnia-plugin-base64@1.0.8
- insomnia-plugin-cookie-jar@1.0.10
- insomnia-plugin-core-themes@1.0.7
- insomnia-plugin-file@1.0.9
- insomnia-plugin-hash@1.0.9
- insomnia-plugin-jsonpath@1.0.14
- insomnia-plugin-now@1.0.13
- insomnia-plugin-os@1.0.15
- insomnia-plugin-prompt@1.1.11
- insomnia-plugin-request@1.0.20
- insomnia-plugin-response@1.0.18
- insomnia-plugin-uuid@1.0.12
* Move some deps around
* Fix Flow errors
* Update package.json
* Fix eslint errors
* Fix tests
* Update deps
* bootstrap insomnia-sync
* TRy fixing appveyor
* Try something else
* Bump lerna
* try powershell
* Try again
* Fix imports
* Fixed errors
* sync types refactor
* Show remote projects in workspace dropdown
* Improved pulling of non-local workspaces
* Loading indicators and some tweaks
* Clean up sync staging modal
* Some sync improvements:
- No longer store stage
- Upgrade Electron
- Sync UI/UX improvements
* Fix snyc tests
* Upgraded deps and hot loader tweaks (it's broken for some reason)
* Fix tests
* Branches dialog, network refactoring, some tweaks
* Fixed merging when other branch is empty
* A bunch of small fixes from real testing
* Fixed pull merge logic
* Fix tests
* Some bug fixes
* A few small tweaks
* Conflict resolution and other improvements
* Fix tests
* Add revert changes
* Deal with duplicate projects per workspace
* Some tweaks and accessibility improvements
* Tooltip accessibility
* Fix API endpoint
* Fix tests
* Remove jest dep from insomnia-importers
* Updated all references to use the getDataDirectory function from misc so that an environment variable can be set for the data directory.
* Did some minor code formatting cleanup
* Got rid of some unused vars
* More unused var cleanup
* Re-enable searching by url, request method
* Fuzzy matching UI for Quick Switch window
* Extract out a Highlight component for Quick Switch matching, and apply fuzzysort to all fuzzy matching to be consistent
* Highlighting of search results on the sidebar
* Move fuzzysort dependency into the insomnia-app package
* Move inline styling to LESS
* Update type returned by fuzzyMatch method
* Update unit tests, fix flow errors
* Updated tests reflecting changes in fuzzyMatch
* Fix lint error
* Quick Switch matching for Request URL and Method
Previously only Request Name was searched for in Quick Switch window.
This adds support for searching Request URL and Method as well.
A fuzzyMatchAll function has been added to be able to search different
fields in any
order, space delimited.
* Include request parameters in searchable fields
* Allow searching requests by folder paths
* More descriptive placeholder for Quick Switch modal search input
* Update sidebar filter to match Quick Switch, allowing URL and Query String matching
* More descriptive placeholder for sidebar search
* Unit tests for fuzzyMatch and fuzzyMatchAll
* More unit tests for fuzzyMatch and fuzzyMatchAll
* minor refactorings