Commit Graph

6382 Commits (bc4bb6cc485ddeb3bca7f3a49231b0c85000cb8a)

Author SHA1 Message Date
Michael Telatynski bc4bb6cc48
remove redundant new line
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-17 13:29:05 +01:00
Michael Telatynski ce2cdf3fa1
sanitize the i18n for fn:textForHistoryVisibilityEvent
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-17 13:28:17 +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
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
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
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
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
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
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
David Baker f7c31bed28 Merge pull request #1360 from MTRNord/patch-7
[WIP] Remove unused translation code translations
2017-09-05 17:13:51 +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
David Baker c75bc42585 v0.10.3-rc.2 2017-09-05 13:13:02 +01:00
David Baker c67a6e9d2e Prepare changelog for v0.10.3-rc.2 2017-09-05 13:13:02 +01:00
David Baker 640010e2e7 Merge remote-tracking branch 'origin/develop' into release-v0.10.3 2017-09-05 13:10:44 +01:00
David Baker d9138e5582 Merge pull request #1358 from matrix-org/dbkr/fix_weblate_plurals
Fix plurals in translations
2017-09-05 11:13:52 +01:00