This commit addresses a race condition when showing the message drawer
and opening the settings page from the Message preferences page.
In that situation, the message/edit.php page calls the
message_drawer_helper.showSettings function, which publishes a request
to show the drawer.
In some conditions (notably faster machines, or after MDL-66107) this
event is fired before the message_drawer.init has listened to it.
The solution here is to delay firing of the event until the drawer
announces itself as ready.
This ensures that the event is subscribed to before it is fired.
Unfortunately the babel minify-mangle plugin seems to be abandoned and
in certain circumstances can be very buggy. The only safe options are to
disable it, or to switch to a different minification library.
Not minifying our javascript is not ideal, so this commit updates the
javascript tasks to use a rollup, combined with babel, and terser.
Babel still converts code from ES/UMD/AMD to AMD modules with the
relevant browser support, whilst terser minifies the code.
The rollup bundler handles tracking and creation of sourcemaps, and
supports better parallelisation of the tasks.
Since the upgrade to Node LTS/Gallium requires an upgrade to @babel/core
and eslint, which change the built files anyway, this seems like the
ideal time to make this change.
The Moodle UI should be functional in a viewport of 320px by 256px to
meet WCAG 1.4.10
this patch contains improvements to:
-prevent horizontal scrolling
-better wrapping of page header
-message drawer funtional on tiny screens
-remove indenting on courses
-prevent elements overlapping on quiz editing
-better navigation tabs
-fix colour picker
-quiz editing
We previously had this page when contact requests were first introduced
and unfortunately we created a bunch of notifications that reference
this URL directly which now won't work because the page has been removed.
I've added it back but set it to redirect to the message/index.php page
and load the contact requests page there.
* Fix bug for newly created conversations being added to overview page
* Fixed bug with use enter to send preference not updating correctly
* Fix unit tests
* Fix race condition loading new messages while conversation resetting
* Fix ordering and rendering of messages with same timestamp
* Fix missing privacy info in get_conversation web service
* Fix linting errors
* Improve bulk message rendering
* Fix navigation from view_contact to view_conversation on an action
such as blocking
* Fix default open message section on overview page depending on which
section has conversations
* Fix message/index.php for users who haven't yet started a
conversation