Repository navigation
CommCare 2.64.0
·
706 commits
to master
since this release
Summary
What's New
- Manage Profile: PersonalID users can now view and edit their profile (photo, name, email) from the sidebar
- Email collection for PersonalID with OTP verification (new and existing users) • Smoother Connect app launch — no more login screen flash
- Added ability to assign an OCS conversation as a Task
Enhancements
- Improved GPS auto-capture to save the most accurate location
- Smoother Connect App Launch
- Deep links from Connect SMS route directly to opportunities in-app
- Network Loading Bar
- Offline Status and Last Synced Indicator in Error Bar
- Minimum Android version for Connect & PersonalID raised to Android 9
Important Bug Fixes
- Fixed the back arrow on the camera capture screen so it correctly returns to the previous screen.
- Fixed an issue where Connect messages opened from a notification could be viewed without completing the unlock prompt.
- Fixed a crash caused by tapping a payment unit row more than once on the Connect delivery progress screen.
- Fixed a crash that could occur when leaving a Connect opportunity's intro screen before its "Start Learning" request finished.
What's Changed
- Code Coverage Report in PRs by @OrangeAndGreen in #3693
- Updated jacoco paths to find java and kotlin classes by @OrangeAndGreen in #3696
- CCCT-2330 Edit Profile Photo From Nav Drawer by @conroy-ricketts in #3686
- [Test Improver] Add unit tests for PersonalIdWorkHistory.fromJsonArray() by @github-actions[bot] in #3645
- Offline First Implementation for Learn Progress and Jobs List Page by @shubham1g5 in #3606
- Configured Codecov for test coverage report instead of jacoco-report by @OrangeAndGreen in #3701
- CCCT-2375 Add Email Column To ConnectUserRecord (DB V26 Migration) by @Jignesh-dimagi in #3694
- Centralize Tech Documentation Under /docs by @conroy-ricketts in #3699
- CCCT-2332 Migrate Android Startup Strings to strings.xml by @conroy-ricketts in #3698
- Remove QA Plan section from PR template by @shubham1g5 in #3703
- Shift PR comment handler to run once a day by @shubham1g5 in #3709
- CCCT-2078 Extract Personal ID Unlock Logic Into PersonalIdUnlocker by @shubham1g5 in #3702
- CCCT-2376 Add Email Parsing And Email OTP API Scaffolding by @Jignesh-dimagi in #3708
- [Test Improver] Add unit tests for RetrieveHqTokenResponseParser by @github-actions[bot] in #3635
- Further prompt engineering to reduce token usage for PR comment handler by @shubham1g5 in #3712
- Added codecov config to only report the code coverage, never fail by @OrangeAndGreen in #3717
- CCCT-2354 Add Back Online Indicator by @OrangeAndGreen in #3700
- CI-668 Tag Job List Rows With Opportunity UUID For AI Testing by @conroy-ricketts in #3723
- CCCT-2078 Use Session Unlock Policy For In-App Connect Navigation by @shubham1g5 in #3716
- Commcare 2.63 Backmerge by @shubham1g5 in #3722
- CCCT-2400 Fix Back Button On Image Capture Screen by @conroy-ricketts in #3727
- [Test Improver] Add unit tests for DeliveryAppProgressResponseParser by @github-actions[bot] in #3614
- [Test Improver] Add unit tests for PushNotificationRecord by @github-actions[bot] in #3636
- [Test Improver] Add unit tests for PushNotificationApiHelper payload conversion by @github-actions[bot] in #3637
- [Test Improver] Add unit tests for NetworkUtils error parsing by @github-actions[bot] in #3612
- [Test Improver] Add unit tests for ConnectOpportunitiesParser by @github-actions[bot] in #3632
- Converted Delivery Progress fragment to use offline-first UX by @OrangeAndGreen in #3724
- CCCT-2301 Add Unit Tests For PersonalIdNameFragment by @conroy-ricketts in #3733
- CCCT-2407 Wire Email Entry Into PersonalID Signup And Recovery Flow by @Jignesh-dimagi in #3735
- CCCT-2355 Handle Missing Integrity headers Error on Start Configuration by @shubham1g5 in #3731
- Default to no comments with AI agents by @shubham1g5 in #3740
- CCCT-2378 Add Email OTP Verification Fragment To PersonalID Flow by @Jignesh-dimagi in #3730
- CCCT-2377 Add Email Entry Fragment To PersonalID Flow by @Jignesh-dimagi in #3729
- Ccct 2321: integrity delay UX Issue by @shubham1g5 in #3739
- CCCT-2379 Add Existing-User Email Collection Offer by @Jignesh-dimagi in #3741
- Logs phone number when there is an error parsing by @shubham1g5 in #3744
- CCCT-2427 Keep Unlock Prompt Open On Recoverable Biometric Failure by @Jignesh-dimagi in #3746
- CCCT-2428 Close Messaging Screen When Unlock Prompt Is Dismissed by @Jignesh-dimagi in #3748
- Personal ID: bump device compatibility to Android 9 by @shubham1g5 in #3747
- Update BrowserStack test device to Samsung S20 by @avazirna in #3742
- Fetch User Email From Backup Code Confirmation Response by @Jignesh-dimagi in #3751
- Override Connect SMS Links by @OrangeAndGreen in #3737
- Fixes drawer gone invisible on setup activity by @shubham1g5 in #3752
- CCCT-2437 Headless Login Engine by @conroy-ricketts in #3738
- Unit tests for PersonalId Photo page by @OrangeAndGreen in #3726
- Legacy Apache fix for Maps usage by @OrangeAndGreen in #3755
- Fix Nav Drawer Photo Launcher Registration Crash by @conroy-ricketts in #3758
- Remove unused DOTS tracker feature by @avazirna in #3732
- CCCT-2438 Extract Post-Login Routing And Inline App Seating by @conroy-ricketts in #3743
- CCCT-2439 Launch Connect Apps Without Showing The Login Screen by @conroy-ricketts in #3753
- AI Improvement by @conroy-ricketts in #3762
- Supporting Subtitle in Action Bar by @OrangeAndGreen in #3763
- CCCT-2440 Connect App Launch For Remaining Pages And Back Navigation by @conroy-ricketts in #3756
- CCCT-2456 PersonalId Profile Screen Phase One by @conroy-ricketts in #3761
- CCCT-2447 Add Firebase Analytics For Add-Email Flows by @Jignesh-dimagi in #3745
- Backmerge CommCare 2.63.1 by @avazirna in #3760
- remove hardcoded method param for local Passphrase by @shubham1g5 in #3769
- CCCT-2489 Add Workflow Parameter To PersonalID Continue Analytics by @Jignesh-dimagi in #3770
- CCCT-2457 PersonalId Profile Screen Phase Two by @conroy-ricketts in #3772
- CCCT-2458 PersonalId Profile Screen Phase Three by @conroy-ricketts in #3773
- [SAAS-19792] Revamp Audio recording widget UI by @avazirna in #3766
- CCCT-2532 Add Design Spec For MUAC Camera Reticle by @Jignesh-dimagi in #3774
- Connect Half-Width Info Cards by @OrangeAndGreen in #3764
- CCCT-2309 Add Unit Tests For Notification History by @Jignesh-dimagi in #3771
- CCCT-2596 Extract BaseCameraActivity From MicroImageActivity by @Jignesh-dimagi in #3778
- [Test Improver] Add unit tests for connectId response parsers (LinkHqWorker and RetrieveChannelEncryptionKey) by @github-actions[bot] in #3626
- CCCT-2441 Silent App Launch For Job Intro And Download Screens by @conroy-ricketts in #3765
- Address flaky instrumentation tests by @avazirna in #3754
- CCCT-2597 Add Responsive Rectangle Reticle Overlay View by @Jignesh-dimagi in #3782
- CI-766 Fix Connect Delivery Progress And Job Intro Crashes by @conroy-ricketts in #3786
- CCCT-2515 Add Reusable Semi-Circle Progress Bar by @OrangeAndGreen in #3779
- CCCT-2459 PersonalId Profile Screen Phase Four by @conroy-ricketts in #3784
- Extract ConnectDatabaseSchemaManager And Add Connect DB Test Hook by @shubham1g5 in #3789
- Adds Task Persistance Layer by @shubham1g5 in #3785
- Trigger app sync after a task change by @shubham1g5 in #3791
- CCCT-2460 PersonalId Profile Screen Phase Five by @conroy-ricketts in #3792
- CCCT-2461 PersonalId Profile Screen Phase Six by @conroy-ricketts in #3793
- Add Common Edge-Cases Reference Doc by @conroy-ricketts in #3781
- CCCT-2476 Log Manage Profile Actions To Firebase by @conroy-ricketts in #3796
- Connect Full-width Info Card by @OrangeAndGreen in #3790
- CCCT-2599 Wire ImageWidget Appearance Parsing And Capture Routing by @Jignesh-dimagi in #3798
- CCCT-2598 Add CameraOverlayActivity For Rectangle Reticle Capture by @Jignesh-dimagi in #3788
- CCCT-2516 Add Connect CTA Bar View by @OrangeAndGreen in #3801
- Backmerge Commcare 2.63.2 by @avazirna in #3804
- Bump androidx.appcompat to 1.7.0 by @avazirna in #3692
- Fix channel name for Messaging by @shubham1g5 in #3807
- CCCT-2536 Add ConnectSuccessFailureCard Dismissible Status Card by @Jignesh-dimagi in #3805
- CCCT-2540 Add Open Conversation Button To Connect Job Tile by @shubham1g5 in #3806
- Make ktlint Conditional On New Vs Existing Kotlin Files by @Jignesh-dimagi in #3803
- Fix edge-to-edge inset handling in Android 15+ devices by @avazirna in #3814
- Use location with best accuracy for Auto Capture by @shubham1g5 in #3813
- Migrate to Firebase BOM 33.16.0 by @avazirna in #3691
- Remove demo code for semi-circle progress bar. by @OrangeAndGreen in #3817
- Rename task type to mode by @shubham1g5 in #3821
- CCCT-2517 Fix Start Learning Navigation by @conroy-ricketts in #3818
- Resize Camera Reticle And Rename Overlay Appearance Hint by @Jignesh-dimagi in #3816
- Back-merge CommCare 2.63.3 into master by @OrangeAndGreen in #3825
- Commcare 2.63 by @Jignesh-dimagi in #3824
- [SAAS-19868] Add face capture widget by @avazirna in #3780
- [SAAS-19849] Update audio recording widget UX by @avazirna in #3768
- Back-merge CommCare 2.63.4 into master by @Jignesh-dimagi in #3828
- Enable lint check for all branches by @shubham1g5 in #3831
- Add Save and Pause/Resume controls to the recording notification by @avazirna in #3783
- SAAS-18493 Tighten DateTimeWidget to a compact calendar-only layout by @avazirna in #3728
- CI-834 Keep Retrofit Suspend Generic Signatures Under R8 Full Mode by @conroy-ricketts in #3835
- QA-8592 Include Keyboard Insets In Edge-To-Edge Padding by @conroy-ricketts in #3838
- QA-8595 Stop Clipping Wrapped Alert Dialog Button Labels by @conroy-ricketts in #3837
- Remove Unreachable Swiss Server URL From LetsEncryptTest by @conroy-ricketts in #3832
- Remove Superpowers Doc From Release Branch by @conroy-ricketts in #3839
- QA-8593 Reject Emails With A Single-Character Top-Level Domain by @conroy-ricketts in #3840
- QA-8597 / QA-8594 Fix PersonalID Email OTP Error Messages by @conroy-ricketts in #3836
- QA-8603 Lock PersonalID Profile Screens To Portrait by @conroy-ricketts in #3842
- QA-8604 Surface PersonalID Biometric Unlock Errors by @conroy-ricketts in #3841
- QA-8611 QA-8610 Update Delivery Progress Tabs In Place On Sync by @conroy-ricketts in #3846
- Display Date and Time widget components horizontally in landscape by @avazirna in #3851
- Back merge Commcare 2.63 into Commcare 2.64 by @Jignesh-dimagi in #3855
- QA-8614 Restore Active Job When Connect Activity Is Recreated by @conroy-ricketts in #3852
- Address face capture widget feedback by @avazirna in #3849
- QA-8617 Dispatch Activity Results To The AndroidX Registry by @conroy-ricketts in #3847
- QA-8622 Incorrect Navigation On View Info Click by @conroy-ricketts in #3856
- QA-8616 Request microphone permission on demand for audio recording by @avazirna in #3858
- Add loading indicators to ConnectDeliveryListFragment by @shubham1g5 in #3859
- Add generic hook to set application name as CommCareActivity title by @avazirna in #3862
- QA-8627 Don't Write Connect Data After Signing Out Of PersonalID (1/2: gate the write sites) by @OrangeAndGreen in #3863
- QA-8628 Remove The App List From The Nav Drawer by @conroy-ricketts in #3864
- Adds back forget personal ID to Login and setup screens by @shubham1g5 in #3865
- Log users out from CC app on forgetting PersonalID by @shubham1g5 in #3866
Full Changelog: commcare_2.63.4...commcare_2.64.0