Moodle App 4.0.0 release notes
Release date: 22 April 2022
note
This new version will only connect Moodle sites version >= 3.5 and that it won't work if your site is using the deprecated local_mobile (Mobile app additional features) plugin.
New features and improvements
- Support Moodle 4.0 LMS new "My courses" page
- User profile repositioned to match LMS
- Design updated to Material design 3 matching overall Moodle style
- Some pages now support swipe (participants, book module, grades, forum discussions,...)
- Resuming a course or a book is now easier
- Course main page additional options menu redesigned
- Navigation between sections and activities improved
- SCORM, H5P automatic full-screen mode
- Thumbnails for videos are automatically generated
- Content and activities pages with fewer distractions for users so they can focus on learning
- General performance improvements
- New notifications page (capturing all the notifications received by the user)
- The enrolment fee plugin is now supported (launched in a browser outside the app to complete the process)
- New 4.0 assignment time-limited submissions supported
- Teachers can now see H5P attempt reports
Moodle.com announcement: https://moodle.com/news/moodle-app-4-0/
Complete list of issues
New Features
- MOBILE-3688 - Create index&list link handlers for mod site plugins
- MOBILE-3799 - Let teachers view attempts in H5P activity
- MOBILE-3800 - Log report_viewed when viewing H5P activity report
- MOBILE-3873 - Support BigBlueButton (bigbluebuttonbn) activity in the app
- MOBILE-3889 - Add development settings page
- MOBILE-3919 - Support time-limited submission assignments (LMS 4.0)
- MOBILE-4022 - Support new tool_mobile_autologinmintimebetweenreq setting for auto-login requests
Improvement
- MOBILE-2848 - Language handling improvements for the mobile app
- MOBILE-3306 - Show the titles of blocks as if they had icons
- MOBILE-3316 - Handle user suspended use-case
- MOBILE-3729 - Let plugins refresh the course page method data of a single module
- MOBILE-3779 - Wiki: clicking a link to a wiki index page doesn't select the right subwiki or page
- MOBILE-3782 - Change the string 'Download course' once the course is downloaded
- MOBILE-3786 - Add a new setting to enable display the Course and Courses (Dashboard) download options
- MOBILE-3792 - Use npm v7 to allow audit fix work
- MOBILE-3793 - Forum reply/edit reply: make it more consistent
- MOBILE-3831 - Publish cordova plugin forks in npm
- MOBILE-3846 - Logout user if site URL is no longer one of the allowed URLs
- MOBILE-3847 - Detect if resources are no longer accessible when offline use is disabled
- MOBILE-3848 - Recent accessed courses block doesn't display guest access courses
- MOBILE-3859 - Improve error message for invalid certificates
- MOBILE-3860 - Remove calls to login/token.php just to check if site exists
- MOBILE-3863 - Make CSP less strict to match behaviour in native devices
- MOBILE-3881 - Timeline block improvements for 4.0
- MOBILE-3897 - Links (
<a>
) to files: first time opened in browser - MOBILE-3898 - Remove overly generic Behat transformers
- MOBILE-3901 - Support insights action URL
- MOBILE-3910 - Change text to accept site policy
- MOBILE-3913 - Add search box to timeline block
- MOBILE-3916 - Ionic5 - header to have same color than system bar
- MOBILE-3917 - Display a better error if a dependency isn't found when deploying an H5P package
- MOBILE-3922 - Check userhomepage setting to show default landing page
- MOBILE-3935 - Allow changing the InAppBrowser toolbar colors
- MOBILE-3940 - Use new webservice on My courses page
- MOBILE-3941 - Don't open browser automatically if URL is set and displayqroncredentialscreen is true
- MOBILE-3950 - Restore Ionic1 Image viewer with zoom
- MOBILE-3951 - Always handle scheduling notifications in service instead of pages
- MOBILE-3954 - Move prefetch module and section options to storage manager
- MOBILE-3959 - Update cordova-android to 10.1.1
- MOBILE-3960 - New config.json setting to skip the Sites page
- MOBILE-3961 - Include the app version number in the user agent
- MOBILE-3962 - Support the course_list block
- MOBILE-3966 - Adapt disabled features to changes in 4.0
- MOBILE-3967 - Add setting to show legacy completion
- MOBILE-3968 - Ignore fake course overview block
- MOBILE-3971 - Optimize database usage for reading the config DB table
- MOBILE-3975 - Move the default notification time for calendar events to config.json
- MOBILE-3976 - Remove online-offline options on notifications
- MOBILE-3977 - Cache database tables with different strategies
- MOBILE-3980 - New index page for book module
- MOBILE-3981 - Use optimized database adapter for tables used during startup
- MOBILE-3990 - Add missing handler for notification preferences, for example: /message/notificationpreferences.php?userid=6
- MOBILE-3993 - Identify with a class or ID all the elements displaying group info
- MOBILE-3996 - Fix navigation bar positioning
- MOBILE-3998 - Create a new IMSCP index/contents page to avoid having 2 nav bars
- MOBILE-4002 - Support new option to enable/disable the Dashboard in LMS
- MOBILE-4008 - Timeline block views should display consistent information (mobile app)
- MOBILE-4012 - Support enrol_fee on the app
- MOBILE-4015 - Support fallbacks for JavaScript click actions on the app via data-app-url
- MOBILE-4017 - Unit tests and lint should work correctly on Windows
Task
- MOBILE-3802 - Moodle App navigation improvements for 4.0
- MOBILE-3803 - Moodle App performance improvements for 4.0
- MOBILE-3804 - Moodle App User Interface (UI) improvements for 4.0
- MOBILE-3805 - Moodle App notifications improvements for 4.0
- MOBILE-3865 - Add link to the "Accessibility Statement for Moodle App"
- MOBILE-3883 - Force ITSAppUsesNonExemptEncryption to NO (false) for iOS
- MOBILE-3926 - Add swipe navigation to pages using split view
- MOBILE-3927 - Add swipe navigation to non-split view pages
- MOBILE-3934 - Refactor pages with nested split views
- MOBILE-3939 - Refactor feedback respondents navigation
- MOBILE-3974 - Disable Paypal in the app
- MOBILE-4010 - In-app Moodle app survey should be available only for logged-in users
Sub-task
- MOBILE-2282 - App takes a lot to start if site is down or unreachable
- MOBILE-2748 - Improve how activity icons are supported now
- MOBILE-3099 - Navigation within courses in the mobile app
- MOBILE-3103 - SCORM full screen. Full screen button to remove top and bottom bar
- MOBILE-3148 - Switch user account should not logout until new account is selected
- MOBILE-3149 - Main activity action should be stuck at the bottom
- MOBILE-3153 - Support User tours in app (onboarding in screens)
- MOBILE-3415 - Support finger/swipe gestures for browsing course contents and activities with multiple pages
- MOBILE-3726 - Display page before opening links in the browser
- MOBILE-3773 - Automatically display thumbnail using Media Fragments for videos without poster
- MOBILE-3794 - Accept site policy: iframe height is too small
- MOBILE-3798 - Duplicated "My learning plans" in "More" menu and the user profile
- MOBILE-3806 - "My courses" option in the app
- MOBILE-3807 - New "User profile" menu
- MOBILE-3808 - Navigation between courses sections
- MOBILE-3810 - Main activity/resource content visualisation
- MOBILE-3811 - Update icons to use Moodle 4.0
- MOBILE-3814 - Update apps design to match 4.0 overall styling and components
- MOBILE-3819 - Moodle 3.1 and local_mobile deprecation
- MOBILE-3821 - Review offline app
- MOBILE-3823 - Ensure H5P, SCORM and similar packages (IMSCP) do not display the description box in landscape mode (mobile)
- MOBILE-3828 - Evaluate if we could display the HTML version of popup notifications in the app
- MOBILE-3829 - Default fallback for Push Notifications should also display the notification message
- MOBILE-3875 - Integrate performance tests in CI
- MOBILE-3876 - Improve production bundles optimization
- MOBILE-3887 - Use core_message_get_messages to display list of notifications
- MOBILE-3899 - Only show main menu when navigation is at level 1
- MOBILE-3902 - In-app notification for site admins when Push Notifications are not enabled for a site
- MOBILE-3905 - Add swipe navigation to course participants
- MOBILE-3909 - Allow users to set the reminder at the same time the event is created
- MOBILE-3914 - Support new block drawer
- MOBILE-3915 - New course index menu and fab button
- MOBILE-3930 - Start and Resume course
- MOBILE-3931 - Re-think the activity contextual menu
- MOBILE-3932 - File resource should display the file media type, size and other useful information in their own page
- MOBILE-3965 - Change "Logout" and "Switch account" behaviour
- MOBILE-3970 - Open course information on a lateral menu
Bug
- MOBILE-3060 - Group image isn't seen in push notifications in Android 9
- MOBILE-3289 - H5P fullscreen does not work for Mobile App
- MOBILE-3552 - H5P ignores TEX-Formulas in App but not in Browser
- MOBILE-3667 - "Last accessed" sort choice on the module dashboard doesn't work unless refresh the page
- MOBILE-3676 - QR reader button should not be displayed in the credentials screen for sites that disabled it
- MOBILE-3686 - Long lists in "Available Courses" can crash app.
- MOBILE-3695 - Delete a site: cannot unregister device if site is configured to logout
- MOBILE-3711 - Access rules error messages should include as part of the string (variable) the access rule name (instead concatenating it hardcoded)
- MOBILE-3715 - Launch external app from InAppBrowser: ERR_FILE_NOT_FOUND
- MOBILE-3763 - H5P embedded directly (using embed code) have height=0 in the app
- MOBILE-3775 - PTR on a page doesn't update the page contents
- MOBILE-3780 - Max size of attachment is not correctly detected (Forum and Assignment)
- MOBILE-3785 - Assignment - visible groups: teachers on browser can select 'All participants' whereas on the app they need to select a specific group
- MOBILE-3787 - Assignment - Submission in group status are not correct
- MOBILE-3822 - Disable click in links in MathJax
- MOBILE-3825 - npm run dev:ios fails with Unknown option: '--platform'
- MOBILE-3844 - Download mp3 file outside of app's folder
- MOBILE-3849 - Revise kebab icon being shown when loading app and show download options on site home
- MOBILE-3855 - Manual completion cannot be changed when accessing activity via recent accessed items
- MOBILE-3857 - Course overview selector not displayed in old Moodle sites
- MOBILE-3868 - Badges are empty when navigating to own user profile from online users block
- MOBILE-3877 - Revise Quiz offline - when user finishes they see the summary instead of the review
- MOBILE-3886 - Android app can no longer connect to HTTP sites
- MOBILE-3895 - Long MathJax equations cut off in quiz feedback and no way to scroll
- MOBILE-3896 - Links to tokenpluginfile are opened in browser
- MOBILE-3900 - Course overview block does not honour "coursegraceperiodbefore" and "coursegraceperiodafter"
- MOBILE-3903 - Link to a course with self enrol doesn't work
- MOBILE-3906 - App laggs after accepting policy
- MOBILE-3912 - Remove needs help from login error modal
- MOBILE-3918 - Some H5P packages display "undefined" instead of title
- MOBILE-3923 - Courses are not correctly sorted on Starred courses block
- MOBILE-3924 - Revise license.json generation
- MOBILE-3944 - User interests in the user profile is not linking to tags
- MOBILE-3946 - Automatic completion of H5P activity isn't automatically detected by the app
- MOBILE-3948 - H5P: Apply MDL code to fix issue when users have same email address
- MOBILE-3949 - Fix Zip Path Traversal vulnerability in Android
- MOBILE-3952 - Kebab icon should be hidden if options menu is empty
- MOBILE-3953 - Site plugins: override handler properties isn't working as expected
- MOBILE-3956 - URL to Feedback on mainpage and courseid returns "module not found"
- MOBILE-3958 - Support gradeformatted with icons in the app
- MOBILE-3982 - Follow-up with Collapsible header issues
- MOBILE-3997 - Revise message when links with autologin
- MOBILE-4001 - Quiz Result percentage shown in the app should apply the same rounding as the other grades
- MOBILE-4005 - Support domain restricted Vimeo videos new security hash parameters