* Rename for consistency with obs photos
* Refactor to be similar to obs photos
* Include Sound as type
* Revert "Include Sound as type"
This reverts commit 3db88ae031.
* Revert "Refactor to be similar to obs photos"
This reverts commit 8ed7454be0.
* Revert "Rename for consistency with obs photos"
This reverts commit 674b921bab.
* Git mv without changes
* Add types
* Type api sound param
* Type fields s const
* Type fields as const
* Type api param
* Type new param
* The only call site of this function passes in only defined strings
* Adapted from Photo check for local path before deleting
* Type fct params
* Refactor constructor to only have a uri as param
* Refactor Sound constructor to have string as param
* Update Sound.ts
* Remove unused param
* Type fct params
* Type realm
* Also collect unsyncedSounds
* Create operations for sound uploads based on Sound only
* Add Evidence type
* Change a sound upload operation to work with a RealmSound
* Update realmSync to also just pass through Sounds
* Use server ID for attaching obs_sound to obs
* Also split photo pipeline for clarity
This is not a functional change. Also previously, only RealmPhoto s are uploaded, only RealmObservationPhoto s are attached or modified. Same as for sounds now.
* Update realmSync.ts
* Remove log
* Update realmSync.test.js
* Update mocks
* Update Sound map test
* Update prepareMediaForUpload.test.js
* Update prepareMediaForUpload.test.js
* Update mediaUploader.test.js
* Don't require TS extensions in imports
* Resolve all import extension errors
* Remove file extension from import paths used in mocks
* Remove .d of type definition file paths
* Remove .d of type definition file and import as type
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Update package.json
* Update package-lock.json
* Enable plugin
* Update package.json
* Update package-lock.json
* Update .eslintrc.js
* Create a new object instead of mutating the existing one
* Update SoundRecorder.js
* Do not mutate prop directly
* Do not mutate store value directly
* Disable compiler for zoom hook
Because it uses reanimated logic, and previous work laid out we should specifically disregard a rule of react here, unsure what to do here for now.
* Move array for tracking results into component
* Disable compiler for StandardCamera
* Do not mutate store value directly
* Disable compiler for FullPageWebView
* Do not mutate route param
* Remove unnecessary check if state is true before setting it to false
* Fix: user might be undefined
* Update reanimated usage with new compiler compliant API
* Fix: taxon might be undefined
* Fix: taxon might be undefined
* Fix: common pitfall of trying to render text outside of Text component
* Update interface
* Add package override
* Update package-lock.json
* Refactor updating of user preferences into User model
* Remove no memo directive from zoom
* Update file imports
* Migrate safeRealmWrite to TS
* Update interface and import path
* Update interface
* Refactor useLocaalObservation hook to not mutate return value of a function that should not be mutated
* Update tests to new return structure
* Remove useSafeRoute hook
We get the same information from error contexts and surrounding documents, and this hook was violating the rules of react by conditionally calling another hook.
* Use optional chaining
* Update TaxonNamesSetting.test.js
* Fix: use optional chaining
* Extend on RNTLs renderHook instead of re-implementing
* Remove unnecessary mock
* Remove unnecessary mock
* Remove unecessary mock
* Remove trailing spaces