Commit Graph

6688 Commits (2d8bc783b0993f49063173a63e3b345f660f7085)

Author SHA1 Message Date
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 cc6123b556 Merge pull request #1374 from matrix-org/dbkr/consolidate_code_copy_button
Consolidate the code copy button
2017-09-10 16:07:51 +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
Matthew Hodgson e1aefd2119 Merge pull request #1373 from matrix-org/dbkr/code_copy_only_html
Only add the code copy button for HTML messages
2017-09-09 05:31:05 +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
David Baker 1f84c68180 Merge pull request #1371 from matrix-org/dbkr/fix_extra_matrixchat_render
Don't re-render matrixchat unnecessarily
2017-09-08 19:27:09 +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 cce772c087 Merge remote-tracking branch 'origin/develop' into dbkr/onhaveroom_no_wait_for_setstate 2017-09-08 17:41:18 +01:00
David Baker 03dcded72f Blank line to make comment clearer 2017-09-08 17:39:10 +01:00
Richard van der Hoff a012dbafce Merge pull request #1367 from matrix-org/dbkr/scroll_state_store
Introduce a RoomScrollStateStore
2017-09-08 17:37:32 +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
Richard van der Hoff 239b2db537 Merge pull request #1366 from matrix-org/dbkr/remove_unused_scrollstatemap
Remove unused scrollStateMap from LoggedinView
2017-09-07 10:37:03 +01: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
David Baker 7dbd54ad25 Merge pull request #1365 from matrix-org/revert-1353-luke/feature-sticky-date-separators
Revert "Implement sticky date separators"
2017-09-06 18:07:01 +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
David Baker 5dfd35f730 Merge branch 'master' into develop 2017-09-06 13:26:34 +01:00
David Baker f5cf2aece2 v0.10.3 2017-09-06 13:25:58 +01:00
David Baker 9dd98d1085 Prepare changelog for v0.10.3 2017-09-06 13:25:57 +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