* Display project months with correct formatting
* Format each type of project date displayed in project requirements
* Rename project start date key to fit fluent formatting
* docs: add commit style and translation source guidance
* docs: specify that ppl should work on unassigned issues; separate and update getting started from submitting
* Use system locale on install
* Check for system locale when app comes to foreground (required in Android
b/c app doesn't get restarted when system locale changes)
* Create a constant of SUPPORTED_LOCALES in loadTranslations.js
* Restart app on sign out
* Use existing transaction when writing to Realm if available (might also
consider an approach that waits for the existing transaction to complete)
* Make value returned by useCurrentUser actually reactive
Closes#2243
* Add screen with list of projects an observation belongs to
* Test whether projects are displayed in ObsDetailsProjects; test project count in ProjectSection
* Catch and squelch "Network request failed" errors that happen during logging itself (#1639)
* Log around RNSI access to resolve when/where those errors occur (#1639)
* Log around JWT retrieval to resolve when/where JWT missing errors occur (#2155)
* Failing Jest test: Skip id button unmounted as soon as you try to press it
* fix: memoize SuggestionsFooter to prevent dismounts and stabilize tests
* test: wait for elements to be visible in PhotoDeletion test
Also stabilizes several other dependencies, and uses findBy instead of queryBy
to ensure tests can find the skip ID button even it takes a second to
render.
Closes#2094
---------
Co-authored-by: Amanda Bullington <albullington@gmail.com>
* Disable animations on tab bar screens
* Fade in pages accessible from the tab bar
* Add fade in view to stack navigator screens
* Use time travel to step through frames of animation for SoundRecorder
* Use time travel to fix all tests with fade in navigation
* Nav fix
Closing the add-obs help text, only closes the help text + never shows up again
Close#2039
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
We added the spacer in #2133 to make all of ObsEdit scrollable, but that just
creates whitespace no one can get rid of. This adjusts the button bar so it
is regularly positioned at the bottom.
* Switch to using a fork of react-native-share-menu since we have multiple
divergences from the main repo and it seems to be abandoned
* Fork supports sharing in iOS 18
* Change black text to dark gray text
* Start simplifying to a single color scheme
* Remove custom paper theme colors
* More theme cleanup
* Styling specifically for RNPaper components
* Update snapshots to use hex colors, not rbga
* Replaced redundant messages
* Use the word storage instead of memory for accuracy
* Note for translators linking to Fluent docs
* More context comments