* 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
* 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
* 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
* 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