* fix: refresh object after conflict error
* fix: recover from error thrown during create
- Ensure that the "Saving" modal dialog is closed
- Notify user of the error, and also print to console to catch in e2e
* fix: default selector tree item to 'mine' folder
- If create fails due to a conflict or otherwise, and the user immediately tries to "Create" again, default the selector tree's selected item to the "mine" folder (which we know exists).
* fix: don't listen to composition if Selector Tree
* refactor: remove dead code
* fix: use MutableDomainObjects in the tree
- Only use mutables and observers if NOT a SelectorTree
- Properly clean up observers and mutables when a parent item is removed from the tree
* test: verify conflicts don't break object creation
* test: verify dialog closes and object is created
* refactor(e2e): update test
- Error notification on 'My Items' folder missing was removed, so don't check for it
* test: increase timeout
* refactor(e2e): use Promise.any()
* refactor(e2e): use Promise instead of polling
* test: add 2p annotation
* test: use `waitForRequest` instead of promise
- tidy up test, add comments describing our pattern
* docs(e2e): add best practices for network tests
* refactor(e2e): avoid using Promise.any
* fix: de-reactify observer and mutable maps
* fix: destroy by path on treeItem close
* fix: don't refresh for synchronized objects
* docs: fix a typo 🔥
* fix: remove existing mutable before adding
* fix: fail fast if these aren't functions
- Remove check for typeof 'function' to not hide any potential coding errors
* fix: walk up navigationPath if item not found
* chore: fix lint errors
* fix: parse conflicted object name correctly
* fix: re-throw conflict error
* fix: Cancel edit mode on conflict
* docs for chrome
* Tidy up formatting, spelling/grammar, update snippet
* more readme fixes
* Update example test suite
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>