The velociraptor was only actioning hidden -> visible transitions
if the position had changed, so the one RR that stayed in position
but became visible... didn't become visible.
* Only render HTML tags in markdown if they're del tags
* Consider non-allowed HTML tags as plain text nodes, so
a message of just '<shrug>' doesn't need to be sent as
HTML
* Consequently rewrite isPlaintext to just look at the parse
tree rather than making and gutting a renderer to walk
the tree (now we're using a library that actually produces
a meaningfgul parse tree).
* Tweak when we put \n on text output to avoid putting \n on
the end of messages.
Fixes https://github.com/vector-im/riot-web/issues/3065
Rather than keeping one in memory, abusing it in different ways
each time and then craefully putting it back the way it was (and
in one case, failing, because we forgot to put the `out` method
back).
so they don't claim it;s a wrapper around marked when it's now
commonmark, and comment why we render markdown to plaintext which
is somewhat unintuitive.
Apparenltly setting the ignorePattern on max-len (as per cf049f2) makes eslint
forget the `ignoreComments` and `code` settings from js-sdk, so reinstate
these.
It seems that a number of the tests had started failing when run in
Chrome. They were fine under PhantomJS, but the MegolmExport tests only work
under Chrome, and I need them to work...
Mostly the problems were timing-related, where assumptions made about how
quickly the `then` handler on a promise would be called were no longer
valid. Possibly Chrome 55 has made some changes to the relative priorities of
setTimeout and sendMessage calls.
One of the TimelinePanel tests was failing because it was expecting the contents
of a div to take up more room than they actually were. It's possible this is
something very environment-specific; hopefully the new value will work on a
wider range of machines.
Also some logging tweaks.
This allows those who have registered to referrer other students to Riot and have their referral counted for the campaign competition. Also allows the base referral URL to be configurable (i.e. for Electron app, etc.) and be default this is `window.location.origin`.
Now that the RTS contains config for teams, use GET /teams to get that information so that users will see be able to register as a team (but not yet auto-join rooms, be sent to welcome page or be tracked as a referral).
For compatibility with referral campaign flows, re-implement team registration such that the team is selected through providing an email with a known team domain. The support email is now only shown when an email that _looks_ like a UK/US university email address, but is not known.