Download & run 69883.php (creates 100 users, and a conversation with each for the admin user) Login as admin Press Toggle messaging drawer Expand Private (100) Scroll down and press See all On following page, expand Private (100) Scroll to bottom of list Confirm that reaching the bottom of the list lazy loads the next 50 conversations Click on some of the new conversations, confirm they load
- Download & run 69883.php (creates 100 users, and a conversation with each for the admin user)
- Login as admin
- Press Toggle messaging drawer
- Expand Private (100)
- Scroll down and press See all
- On following page, expand Private (100)
- Scroll to bottom of list
- Confirm that reaching the bottom of the list lazy loads the next 50 conversations
- Click on some of the new conversations, confirm they load
In the Messages tool, it is only possible to scroll through the most recent 50 conversations.
In the replication steps below we set up a course with a teacher and 80 students. For ease of replication, the steps have the teacher initiating a conversation with each student, but imagine the scenario where the students are initiating the conversation. If more than 50 students send a message to the teacher, the teacher is unable to access all of those unread conversations. It is possible to search for users to access older conversations, but the teacher has no way of knowing which conversations they need to see. If a teacher is leading multiple courses with potentially hundreds of unique students enrolled among those courses, this limit of 50 conversations makes it nearly impossible for the teacher to manage conversations with all of his/her students.
STEPS TO REPLICATE
NOTE: Instructions use the attached [^bulk_user_core.csv] file. If you choose to create your own users/courses you can select whatever names you desire.
- Create a new course with the shortname test107.
- Create a new user, teacher1, and enroll the user into test107 as a teacher.
- Go to Site administration > Users > Upload users and use the attached [^bulk_user_core.csv] to create a bunch of users (at least 60) and enroll them as students in the test107 course.
- Login as teacher1. Click on the arrow next to your name and select Messages.
- Search for Last1 to find the first student and send a message.
- Search for Last2 to find the next student and send a message.
- Continue to repeat this process through the first ten students.
- Exit the Search. Observe that a conversation for each of the first ten students is listed under Private and the count of private conversations is 10. The most recent conversations are listed first so the last conversation in the list is for Student Last1.
- Use the search tool to locate the 11th student, etc. and send a message to each user through Student Last55.
- Exit the Messages tool. (This step is necessary. If you skip this step, you will be able to scroll through all conversations so long as you remain in Messages, but the list will be limited to 50 once you exit and return.)
- Return to the Messages tool.
The number next to Private indicates that there are 55 private conversations. Scroll to the bottom of the list and find that the last conversation listed is for Student Last6. The conversations for students 1-5 are not visible and there is no paging to gain access to these conversations.
The number next to Private indicates that there are 55 private conversations. The user is able to scroll through the full list of conversations.
Replicated on sandbox.moodledemo.net (3.9.2)
Replicated on 3.8.3
ADDITIONAL INVESTIGATION NOTES
The problem seems to only be when accessing the full page Messages tool (/message/index.php). When using the Messaging drawer, the first 50 conversations are loaded, but if you scroll further, additional conversations are loaded. Ironically, there is a "See all" link at the bottom on the messaging drawer which opens the full tool were you cannot see all conversations.