This will ensure that errors, unsent messages, etc. will be allowed enough height to display their contents from within the status bar without being chopped.
Fixes#3041
The promise would resolve immediately, nulling out `flushPromise`. This would
then immediately be set from `new Promise((resolve, reject) => {...})` turning
it back into non-null `flushPromise`. The resolve handler was called so the
next `flush()` would see "oh yes, there is a non-null `flushPromise`" then
promptly try to set `flushAgainPromise` which chains off the resolved
`flushPromise` which relied on `flushPromise` being `null`ed out after
`resolve()`, causing the chained `flush()` to see "oh yes, there is a non-null
`flushPromise`" which... ad infinitum.
This PR fixes it by making the nulling out asynchronous but the fact it took
me this long to debug this issue indicates to me that this is a terrible piece
of code. Will re-write.
This makes it easier to get a list of all the log IDs. It also makes it possible
to order the logs by the *LAST* log line and not the first as was the case
previously, which is important in the case of long-running tabs.
This has to be relative, because we don't know if riot is going to be mounted
at the top-level of the domain or not (it's not, on riot.im).
Links are relative to the final location of the CSS, which is under
bundles/<hash>, so need ../..
Merge the notification part of https://github.com/vector-im/riot-web/pull/2960
* Show and focus the window when the notification is clicked,
rather than just restoring it.
* Implement requestNotificationPermission and return a resolved
promise (although in practice it should never be called)
When collapsed, the max-height is set to 0px. When expanded, max-height is set to 50px, margin-top is set to 0px. When expanded and when the timeline is not scrolled down to the bottom, margin-top is set to -50px to offset the change in height, keeping it at the same scroll position.
Without the animation, there would be a jump when the user starts scrolling up from the bottom whilst the StatusBar is expanded.