David Baker
6cb98d7196
Hopefully make comment clearer
2017-09-11 18:39:30 +01:00
David Baker
531fc3ac54
Fix 'Failed to load timeline position' regression
...
Ignore the update that comes in from the RoomViewStore when the
current room changes or we save our scoll state against the new
room rather than the old one.
Fixes https://github.com/vector-im/riot-web/issues/5010
2017-09-11 17:57:52 +01:00
David Baker
be8f0991a6
Avoid re-rendering RoomList on room switch
...
Introduce a class that consumes updates from the RoomViewStore and
announces to listeners if the active room ID is now or is no longer
the room ID they specified. Naming suggestions welcome: it's
currently called ActiveRoomObserver.
Avoids passing the selectedRoomId down from MatrixChat all the way
through the LeftPanel / RoomList / RoomSubList to the RoomTiles.
Also introduce a CallPreview class that listens directly for
RoomViewStore changes as the call preview in the left panel needs
to know when the room changes, so this allows this component to
update without having to update the entire left panel.
2017-09-11 16:59:09 +01:00
Jerzy Kołosowski
188c7df53a
Translated using Weblate (Polish)
...
Currently translated at 93.6% (910 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-11 13:03:11 +00:00
Akcja Demokracja Open-Source
610e53889e
Translated using Weblate (Polish)
...
Currently translated at 93.5% (909 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-11 12:48:46 +00:00
Michael Telatynski
0580d536ad
Merge branch 'develop' into t3chguy/on_copy_tooltip
2017-09-10 18:54:52 +01:00
David Baker
7617788345
Merge pull request #1372 from matrix-org/dbkr/emoji_fast_path
...
Fast path for emojifying strings
2017-09-10 17:44:02 +01:00
David Baker
05a986334d
Separate function to add code copy button
...
For neatness and also so it can show up separately in the profiler.
2017-09-10 15:58:17 +01:00
David Baker
876257f4e2
Consolidate the code copy button
...
Adding the code code button was done by manipulating the HTML of
the event body to add a span tag, then adding the onclick handler
after the thing was mounted. Apart from splitting the code between
two places, adding the span tag was, according to Chrome's
profiler, taking up quite a lot of CPU cycles (apparently as soon
as you set the innerHTML on a div). Instead, just build the whole
lot together after the component mounts.
2017-09-10 14:23:33 +01:00
David Baker
fe79010e4e
Only add the code copy button for HTML messages
...
Trivial fast-path optimisation: plain text messages cannot possibly contain pre
blocks so there's no point in trying to parse them in order to add code copy
buttons.
2017-09-08 23:36:22 +01:00
David Baker
ea5726aa4e
Copyright
2017-09-08 23:14:06 +01:00
David Baker
ec3ff529e7
Fast path for emojifying strings
...
Emojione's regex for detecting emoji is *enourmous* and we were
running it on every display name, room name, message etc every time
those components mounted. Add a much simpler regex to rule out the
majority of strings that contain no emoji and fast-path them.
Makes room switching about 10% faster (in my tests with all the
profiling turned on).
2017-09-08 23:05:27 +01:00
Matthew Hodgson
0e8bd856bc
remove obsolete this._roomViewStoreToken.remove();
2017-09-08 20:14:27 +02:00
David Baker
663dc3e513
Don't re-render matrixchat unnecessarily
...
...on room switch. We were setting most of the state in viewRoom,
but getting the current room ID from the RoomViewStore, but this
meant we did one setState from the RoomViewStore updating,
re-rendered and then setState again in viewRoom causing another
render. This just sets the room ID in viewRoom.
2017-09-08 18:56:57 +01:00
David Baker
d507dc7975
Merge pull request #1370 from matrix-org/dbkr/onhaveroom_no_wait_for_setstate
...
Don't wait for setState to run onHaveRoom
2017-09-08 18:24:57 +01:00
David Baker
aee2f3cdef
Rename onHaveRoom
...
And move some code out of it which didn't really have any reason
to be hanging out there rather than just be where we set the room
a few lines above.
2017-09-08 18:11:13 +01:00
David Baker
bf982004f6
Give onHaveRoom the info it needs explicitly
...
Rather than giving it a state object which is not actually the
whole state but happens to be everything it actually wants
(currently)
2017-09-08 17:56:53 +01:00
David Baker
81871c50be
Add more doc
...
on why module level variables do not work as singletons
2017-09-08 17:43:41 +01:00
David Baker
03dcded72f
Blank line to make comment clearer
2017-09-08 17:39:10 +01:00
David Baker
1be35a77ec
Don't wait for setState to run onHaveRoom
...
onHaveRoom sets some more state (among other things) so putting it
in the setState callback so it could observe the new state caused
us to have to re-render again unnecessarily. Just give it the new
state as a parameter.
2017-09-08 17:06:46 +01:00
David Baker
984d639a37
Merge remote-tracking branch 'origin/develop' into dbkr/scroll_state_store
2017-09-08 15:58:38 +01:00
David Baker
13b094a3f6
Merge pull request #1369 from matrix-org/dbkr/dont_always_paginate
...
Don't always paginate when mounting a ScrollPanel
2017-09-08 15:51:55 +01:00
bldrzzy
d33f90e002
Translated using Weblate (Polish)
...
Currently translated at 80.1% (779 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-08 14:49:38 +00:00
David Baker
78a2e49705
Don't always paginate when mounting a ScrollPanel
...
Calling just checkFill on DidMount did not initially set the
scrollTop which meant that one back pagination request is always
performed regardless. This meant we would end up rending the
first batch of events, then paginating and re-rendering again
after the pagination got another batch, causing unnecessary render
churn.
2017-09-08 15:41:19 +01:00
David Baker
59c54d3756
Remove redundant code
2017-09-08 13:39:22 +01:00
David Baker
d714291aa1
Re-add doc on scroll state map structure
2017-09-08 13:27:14 +01:00
Akcja Demokracja Open-Source
5684074639
Translated using Weblate (Polish)
...
Currently translated at 77.3% (752 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-07 23:01:25 +00:00
Michael Telatynski
3df379cb49
fix radio for theme selection
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-07 18:54:41 +01:00
David Baker
82d1afcc47
Correct comment
2017-09-07 17:16:32 +01:00
David Baker
7f44ac7403
Remove now unused stuff from RoomViewStore
2017-09-07 17:15:19 +01:00
David Baker
408b8c18ea
Introduce a RoomScrollStateStore
...
to keep the place we're scrolled to in rooms. This mainly eleimates
the extra, superfluous onRoomViewStoreUpdate callback that
happened when the previous room saved back its scroll state.
Moving the scroll state to a separate store means we can have this
not emit events because nothing needs to know when the scroll state
changes.
2017-09-07 17:08:36 +01:00
Ramon Vilar
e1319d3838
Added translation using Weblate (Catalan)
2017-09-07 12:37:56 +00:00
Jerzy Kołosowski
8e5c8b4fc2
Translated using Weblate (Polish)
...
Currently translated at 64.8% (630 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-06 22:13:53 +00:00
David Baker
d71f15adf4
Remove unused scrollStateMap from LoggedinView
2017-09-06 22:51:10 +01:00
Kevin Németh
720715e60e
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/
2017-09-06 16:53:39 +00:00
David Baker
609d61d53c
Revert "Implement sticky date separators"
2017-09-06 17:40:58 +01:00
Iru Cai (vimacs)
16621d0e1d
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 77.2% (751 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hans/
2017-09-06 11:18:28 +00:00
Silke
6cfc7f0124
Translated using Weblate (Dutch)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/nl/
2017-09-06 10:42:13 +00:00
Michael Telatynski
b10b0e573d
i18n and change message depending on success of copy
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:29:55 +01:00
Michael Telatynski
269f1f33e3
show response on copy so you don't mash it
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:27:25 +01:00
Akcja Demokracja Open-Source
1df1d99000
Translated using Weblate (Polish)
...
Currently translated at 57.4% (558 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-05 19:15:34 +00:00
David Baker
738c81b506
Add missing translations
2017-09-05 17:36:41 +01:00
David Baker
158e6fd9ff
Merge pull request #1361 from MTRNord/patch-9
...
Remove unused string "changing room on a RoomView is not supported"
2017-09-05 17:20:26 +01:00
MTRNord
da3336172f
Remove more unused translation strings
2017-09-05 18:12:00 +02:00
Marcel
a573a396ad
Remove unused string "changing room on a RoomView is not supported"
2017-09-05 18:07:22 +02:00
MTRNord
5449224dec
readd translations that got removed by accident 2
2017-09-05 18:01:57 +02:00
MTRNord
7ba8aa95c5
readd translations that got removed by accident
2017-09-05 18:00:57 +02:00
MTRNord
4a362c141a
Cleanup unused language code translations
2017-09-05 17:54:49 +02:00
Marcel
5684b6a23c
Remove unused translation code translations
2017-09-05 17:35:03 +02:00
David Baker
262d66f579
Merge pull request #1353 from matrix-org/luke/feature-sticky-date-separators
...
Implement sticky date separators
2017-09-05 14:15:47 +01:00
Jerzy Kołosowski
ce4178f116
Translated using Weblate (Polish)
...
Currently translated at 43.3% (421 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-05 10:35:14 +00:00
Jeff Huang
f5f0b14da2
Translated using Weblate (Chinese (Traditional))
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/
2017-09-05 02:15:21 +00:00
Marek Jędrzejewski
1b2e33976d
Translated using Weblate (Polish)
...
Currently translated at 30.0% (292 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-04 19:23:54 +00:00
Jerzy Kołosowski
82e0e533a0
Translated using Weblate (Polish)
...
Currently translated at 30.0% (292 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/
2017-09-04 19:22:49 +00:00
David Baker
de2940f469
Fix plurals in translations
...
Weblate doesn't understand counterpart's multi-level format for
plurals and helpfully mangles them to be dot-separated keys when it
saves the translation file. Store the source files with pipe
separators and convert to counterpart format at build time.
2017-09-04 17:09:36 +01:00
David Baker
79ee41351c
Fix typo
2017-09-04 15:45:28 +01:00
Krombel
91b547b99f
Translated using Weblate (German)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-04 12:53:11 +00:00
Krombel
9de3ce67f1
Translated using Weblate (German)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-04 12:22:41 +00:00
Andrey
76ff4b1f24
Translated using Weblate (Russian)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-09-04 11:15:29 +00:00
Eric Newport
c902652f6c
Translated using Weblate (English)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/en_EN/
2017-09-04 11:02:16 +00:00
Osoitz
b66b6b6d94
Translated using Weblate (Basque)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/
2017-09-04 11:00:23 +00:00
Andrey
ce57464dd1
Translated using Weblate (Russian)
...
Currently translated at 100.0% (972 of 972 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-09-04 10:44:36 +00:00
Weblate
d305f8aacb
Merge remote-tracking branch 'origin/develop' into develop
2017-09-04 10:27:17 +00:00
sahajkoka
102a4dfac0
Translated using Weblate (Telugu)
...
Currently translated at 34.6% (336 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/te/
2017-09-04 10:27:17 +00:00
tompatulpan
5d19410723
Translated using Weblate (Swedish)
...
Currently translated at 56.4% (548 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sv/
2017-09-04 10:27:17 +00:00
mark
abbff25454
Translated using Weblate (Spanish)
...
Currently translated at 80.8% (785 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/
2017-09-04 10:27:17 +00:00
Andrey
e215e7a403
Translated using Weblate (Russian)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-09-04 10:27:17 +00:00
anmcp
a294a2c545
Translated using Weblate (Portuguese)
...
Currently translated at 91.8% (892 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pt/
2017-09-04 10:27:17 +00:00
Lauris Mierkalns
1996c02adb
Translated using Weblate (Latvian)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/lv/
2017-09-04 10:27:16 +00:00
Bamstam
05c4b042ad
Translated using Weblate (German)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-04 10:27:16 +00:00
kaiyou
3549c660be
Translated using Weblate (French)
...
Currently translated at 99.4% (966 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-09-04 10:27:16 +00:00
Eric Newport
ea929aac84
Translated using Weblate (English)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/en_EN/
2017-09-04 10:27:16 +00:00
Kaj Printz
197c449bad
Translated using Weblate (Danish)
...
Currently translated at 23.6% (230 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/da/
2017-09-04 10:27:16 +00:00
Jan Kudrik
0186bfc483
Translated using Weblate (Czech)
...
Currently translated at 23.8% (232 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/cs/
2017-09-04 10:27:16 +00:00
Jeff Huang
b3a53c43fd
Translated using Weblate (Chinese (Traditional))
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/
2017-09-04 10:27:16 +00:00
钟进
ce914349ce
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 72.5% (704 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hans/
2017-09-04 10:27:16 +00:00
lazz0
6847dddcc4
Translated using Weblate (German)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-04 07:30:01 +00:00
Bamstam
6abb8f4464
Translated using Weblate (German)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-04 07:29:13 +00:00
lazz0
1e79fd8463
Translated using Weblate (German)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-03 14:32:16 +00:00
Bamstam
95fa0f0cb7
Translated using Weblate (German)
...
Currently translated at 100.0% (971 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2017-09-03 14:10:19 +00:00
Ange des ténèbres
53a09144fb
Translated using Weblate (French)
...
Currently translated at 99.4% (966 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-09-01 17:42:18 +00:00
Brendan Abolivier
839b1cf194
Translated using Weblate (French)
...
Currently translated at 99.3% (965 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-09-01 17:38:15 +00:00
Stefan Parviainen
26ebb530ee
Added translation using Weblate (Finnish)
2017-09-01 15:20:27 +00:00
Luke Barnard
c9c0771355
Spelling
2017-08-31 16:29:45 +01:00
Luke Barnard
cdb28f956e
Add comment for StickyContainer extension
2017-08-31 16:29:31 +01:00
Ange des ténèbres
8f0b7db0d7
Translated using Weblate (French)
...
Currently translated at 99.2% (964 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-08-31 15:11:05 +00:00
David Baker
a2f2070966
Put setSate in the promise constructor
...
Avoids local variables. Also typo in comment.
2017-08-30 21:44:10 +01:00
David Baker
225fe67586
Fix room change sometimes being very slow
...
If the js-sdk had a lot of history in memory for a particular room,
riot would paginate all that history into the DOM and render it
when switching to that room (before then removing it all again).
This obviously made switching to that room very slow.
This was caused by the fact that we relied on the setState that
happens in TimelinePanel after the pagination taking effect such
that ScrollPanel sees that it no longer needs to paginate, but
in some situations (as far as I can see, in electron...?) this
setState would not take effect until the pagination stopped
fulfiling requests from memory and hit the network.
Fix: don't resolve the promise returned by the pagination request
until the setState has actually happened.
2017-08-30 19:14:26 +01:00
Eric Newport
c3fc366039
Translated using Weblate (French)
...
Currently translated at 98.8% (960 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-08-30 15:01:10 +00:00
Luke Barnard
a29e7da06b
Merge branch 'develop' into luke/feature-sticky-date-separators
2017-08-30 14:06:06 +01:00
David Baker
32b33c66b9
Merge pull request #1346 from matrix-org/t3chguy/shouldHideEvent_RoomStatusBar
...
apply shouldHideEvent fn to onRoomTimeline for RoomStatusBar
2017-08-30 13:58:40 +01:00
David Baker
b13ae76cfc
Merge pull request #1345 from matrix-org/t3chguy/text4event_modified_widget
...
text4event widget modified, used to show widget added each time.
2017-08-30 13:56:27 +01:00
Luke Barnard
d516906b36
Implement sticky date separators
...
Use `react-sticky` to implement sticky date separators. This will pin a date separator to the top of the timeline panel when the separator scrolls out of the top of the view.
A known issue of this is that the spinner, which is in line with event tiles in the timeline, will appear to push the stuck date separator down. In reality the first date separator after the spinner is in line with event tiles and is not stuck because the spinner forces the timeline to be scrolled slightly further down than it would be otherwise. But also, date separators in the timeline (not "stuck") have a greater height.
Ideally the date separator would be suppressed whilst back paginating, but this will cause the stuck separator to flicker on and off. This is why the suppression has been removed.
2017-08-30 13:52:46 +01:00
David Baker
22bb635ff3
Merge pull request #1352 from matrix-org/fix_hide_rr_regression
...
separate concepts of showing and managing RRs to fix regression
2017-08-30 13:50:44 +01:00
Michael Telatynski
05c232c8c3
revert fancy indents
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-30 13:32:07 +01:00
Michael Telatynski
282618d5a1
separate concepts of showing and managing RRs to fix regression
2017-08-30 13:18:14 +01:00
Iru Cai (vimacs)
511e5d2d23
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 63.6% (618 of 971 strings)
Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hans/
2017-08-30 10:18:43 +00:00
Richard Lewis
84481f1a1e
Merge pull request #1350 from matrix-org/rxl881/scalarTokenFix
...
Make staging widgets work with live and vice versa.
2017-08-30 11:04:50 +01:00
Richard Lewis
2ff1888054
Make staging widgets work with live and vice versa.
2017-08-30 10:36:22 +01:00
Richard van der Hoff
b9e047f0ff
Avoid breaking /sync with uncaught exceptions
...
For reasons I don't fully understand, it appears that sometimes the
ReadReceiptMarker has no offsetParent. Rather than dying with an uncaught
exception when that happens (and taking out half of React as well as the /sync
handler), log a warning and suppress the animation.
2017-08-30 10:01:45 +01:00