* MOB-936 introduce new Android CI and Maestro smoke test
* Potential fix for code scanning alert no. 30: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* remove branch exception to cache write rule
* delete unused new share flow
* add run to reintroduce workflow
* switch to -m runner for build
* redisable run on push
* add comments and update readme for changes
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* Change TS warning about unused variables to error & support _unused in catch blocks
* Use TS recommended object instead of Object
* Set Function issues to warnings in TS files for later fixing
* Don't check for prev crashes or sentinel files on a fresh install
* Make sure we're not accidentally creating a new legacy store on every install
* Revert
* Add splash screen, preload images, show onboarding as react nav modal
* Fix e2e tests
* Open more options on long press
* Add tests for long press
* Rearranging Settings screen with new layout
* Add toggle for advanced settings in layout slice; fix default mode toggle
* Update settings with navigation flows
* Fix tests
* Change power mode switch for e2e test
* Fix settings test for green button toggle
* Fix advanced user toggle in e2e test (which hides pivot cards)
* Changes based on design convo; test fixes
* Fix e2e tests
* Follow user flow chart and update nav accordingly
* Rename function
* Fix test
* Can be null so check for false only
* Little less spacing between radio button rows
* Minor UI updates
* Remove check for previous setting in UI
* This is no longer used anywhere
* Update AICamera.test.js
* Update AICamera.test.js
* Update AICamera.test.js
* Update Suggestions.test.js
* Update Settings.test.js
* Update LanguageSettings.test.js
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Update TypeScript
* Fix some tests with new default MyObservationsSimple
* Show upload toolbar on MyObs advanced
* Update tests for simple mode
* Fix deletions popping back up on MyObs
* Fix e2e test, which also means fixing our deletion process
* Fix useSyncObservations test
* Requested changes to better fit latest designs
* Add tests to check for hidden upload banner
* Use fixed header on ObsDetails advanced mode
* Remove test for removed component - using react navigation header instead
* Remove tests related to ObsDetails header icon; using react navigation
* Add testID to react navigation level back button and fix e2e
* Terminate app after every e2e test and maybe help flakiness
* Rework termination of app
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Retain user mode (advanced/default) after login
* Switch to power mode before login & hide announcements e2e
* Remove repetitive signin test from e2e
* Change default MyObs layout to grid
* Rename testID
* Update tests expecting to start with list view
* Reverse order of buttons in layout selector
* Fix layout bug of having empty boxes on explore
* Update user-facing terminology from gallery to photo library
* Update terminology for devs to make the user-facing change easier to remember
* Update snapshots
* Fix#2572 - New design for MyObservations - default mode, logged out, no observations
* Fixed tests
* Update close onboarding part of e2e tests
* Update sign-in for e2e
* Update loadTranslations.js
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Add functionality for advanced iNaturalist mode
* Fix language settings test by toggling advanced mode on
* Fix e2e tests by adding advanced user toggle
* Fix more tests in Settings with advanced toggle
* test: wait for OTHER SUGGESTIONS in aicamera test in an attempt to deflake
* test: try a longer timeout in aicamera test, try launching app again if it fails
Note that offsetting the onboarding images ended up being a bit hard. We're
mostly doing so with a cropped version of one of the images.
Closes#1906
Also tried to de-flake some tests:
* Use fake timers when possible
* Ensure time travel helper doesn't un-fake our timers
* Wait for time travel helper to finish so changes don't happen outside of
act
* Stop mocking useCurrentUser in integration tests; that's app code and should
not be mocked when integrating all parts of the app; instead use signIn /
signOut helpers
* Remove unnecessary direct uses of act()
* Mocked some inatjs calls to prevent React Query complaints about undefined
query return values
* Close onboarding before all e2e tests
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Add a cameraZoomRange default
* Small detox version bump
* Add a mocked camera with a take photo button
* An e2e mock for the computer vision plugin predicting a frame
* Mock taking a photo by loading the first photo from the CameraRoll
Closes#1981
* Customize back button; move icon assets into our image dir
* Fix ContextHeader with updated back button
* Fix styling around back buttons
* Fix taxon details header
* Test fix
* Fix signed in e2e test
* Add button to import photos from the gallery to the AI Camera
* Move AI Camera buttons to side rails so it's easier to add new buttons
* Got shutter button closer to spec
* Change e2e to test for element absence instead of status text
Closes#1848
* Allow user to open add comment sheet from another modal
* Code cleanup
* Add suggest ID bottom sheet to test
* Change names of test IDs in signed in e2e test for TextInputSheet