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
David Baker
9efa604706
Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist
2017-08-30 17:39:47 +01: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
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
Luke Barnard
3f11f9148f
Merge pull request #1348 from matrix-org/dbkr/fix_forgot_password_percent_encode
...
Percent encoding isn't a valid thing within _t
2017-08-29 15:02:26 +01:00
David Baker
6d5b1b7a55
Percent encoding isn't a valid thing within _t
...
Just use a plain apostrophe
2017-08-29 14:18:24 +01:00
David Baker
ec983b838a
Unbreak password reset with a non-default HS
...
Broken by the change from onHsUrlChanged to onServerConfigChanged
in https://github.com/matrix-org/matrix-react-sdk/pull/811 where
ForgotPassword got missed.
2017-08-29 14:07:43 +01:00
David Baker
d86fe0df6e
Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist
2017-08-29 13:29:55 +01:00
Michael Telatynski
315f7a3ae7
apply shouldHideEvent fn to onRoomTimeline for RoomStatusBar
...
prevents N new message(s) when a hidden message comes in.
2017-08-28 13:46:09 +01:00
David Baker
299db845ff
PR feedback
2017-08-25 12:10:13 +01:00
David Baker
814e08d843
Merge pull request #1334 from matrix-org/dbkr/update_on_event_decrypted
...
Force update on timelinepanel when event decrypted
2017-08-24 13:35:39 +01:00
Richard van der Hoff
b65e1769d7
Dispatch incoming_call synchronously
...
- this should fix a race where if the 'hangup' arrives hard on the tail of the
Call.incoming, we don't ignore it.
(We still have a problem in that we blip the hangup tone and UI, but that is
arguably a separate problem)
2017-08-24 13:05:17 +01:00
David Baker
a2943ac348
Check room ID matches
2017-08-24 11:55:39 +01:00
David Baker
67824e9acc
Force update on timelinepanel when event decrypted
...
Partially fixes https://github.com/vector-im/riot-web/issues/4865
(the part about messages not appearing in the timeline until you
move the cursor over the window).
Requires https://github.com/matrix-org/matrix-js-sdk/pull/529
2017-08-24 11:35:01 +01:00
David Baker
5f816666e1
Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist
2017-08-22 10:08:02 +01:00
David Baker
ac64e9b705
Lint
2017-08-21 19:34:07 +01:00
David Baker
e77ea352e4
Support full group membership cycle
...
Apart from knocking, ie. Invite / accept / reject / leave
2017-08-21 19:18:32 +01:00
Luke Barnard
caff761df7
Merge pull request #1308 from matrix-org/t3chguy/mels_fix
...
Change OOO so that MELS generation will continue over hidden events
2017-08-18 13:08:35 +01:00
Michael Telatynski
615d96a065
catch hidden event being RM
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-18 11:53:52 +01:00
David Baker
ddf1017799
Make group invites work
2017-08-16 14:58:30 +01:00
David Baker
252ab208e4
Merge pull request #1300 from matrix-org/dbkr/userpicker
...
Refactor ChatInviteDialog to be UserPickerDialog
2017-08-16 14:29:07 +01:00
Michael Telatynski
14903274c0
Change OOO so that MELS generation will continue over hidden events
...
this fixes the scenario of N Member events, then an invisible event
e.g. (m.room.aliases) then more Member events. Pre hide-join-parts
this is how it worked.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-16 13:20:32 +01:00
David Baker
e1ddd3781d
Merge branch 'dbkr/userpicker' into dbkr/group_userlist
2017-08-15 14:10:45 +01:00
David Baker
a15c2100d1
Sort out right panel callapsing on GroupView
2017-08-15 13:12:39 +01:00
David Baker
64f352dda7
Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist
2017-08-15 10:49:07 +01:00
David Baker
1b66e88b6e
ChatInviteDialog -> UserPickerDialog pt 2
...
The other changes I forgot to add
2017-08-14 17:43:00 +01:00
Luke Barnard
e48c4911b8
Merge pull request #1294 from matrix-org/revert-1290-luke/fix-user-url-no-middle-panel
...
Revert "At /user, view member of current room"
2017-08-14 16:31:24 +01:00
Luke Barnard
0079e70006
Display RM when it = a standalone member event
...
Standalone = not next to any member events in the timeline.
fixes vector-im/riot-web#4694
2017-08-14 15:40:49 +01:00
Luke Barnard
2844b574d5
Re-add useful comment
2017-08-14 14:41:03 +01:00
Luke Barnard
b59de7964c
Wait for first sync before dispatching view_user on /user
...
the RightPanel will be mounted once we're done doing the first sync, so wait until then and then dispatch a view_user. This is not very nice but it's what we do for view_room.
2017-08-14 14:37:49 +01:00
Luke Barnard
d9e8292a5e
Revert "At /user, view member of current room"
2017-08-14 14:06:54 +01:00
Luke Barnard
3d5d7fa9c8
Lint
2017-08-14 13:59:12 +01:00
Luke Barnard
cbd8018ac8
Support semi-perma-disabling of lab features
...
Adding `override: true` will remove the feature from the labs section, and force Riot to always use the default value (i.e. ignoring localStorage). This is useful removing features entirely when they might be deliberately not working but we still want to do a release.
2017-08-14 12:26:31 +01:00
David Baker
02217c8bd2
Merge pull request #1290 from matrix-org/luke/fix-user-url-no-middle-panel
...
At /user, view member of current room
2017-08-11 10:49:22 +01:00
Luke Barnard
12966d06cd
Merge pull request #1255 from matrix-org/t3chguy/i18n_analytics
...
un-i18n Modal Analytics
2017-08-10 15:35:46 +01:00
Luke Barnard
d3ba1f40dc
Merge pull request #1272 from matrix-org/t3chguy/hide_other_events
...
allow hiding of avatar/display name changes
2017-08-10 15:35:11 +01:00
Luke Barnard
89254e77f4
When no member, use null
roomId
2017-08-10 15:23:14 +01:00
Michael Telatynski
41843f021d
don't track two more potential risks
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:21:01 +01:00
Michael Telatynski
56ea528f43
don't track error messages .2
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:17:52 +01:00
Michael Telatynski
ab3abd2f7f
fix string casing
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:59:55 +01:00
Michael Telatynski
b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/Analytics.js
2017-08-10 13:54:55 +01:00
Michael Telatynski
24599ace32
don't track error messages
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Marcel
60c1ba4f4d
Add LanguageDropdown to LoginPage ( #1284 )
2017-08-10 13:29:10 +01:00
Luke Barnard
07633fe67f
At /user, view member of current room
...
With the fallback of existing behaviour, which is UserView (no middle panel and no avatar, display name).
To improve, MemberInfo should probably track the current roomId and userId and then update the view asynchronously by re-fetching the member object when either roomId or userId change.
Also, it should be hitting the profile API to get the user's avatar if a room hasn't been specified.
2017-08-10 13:12:50 +01:00
David Baker
c1546ceb59
Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist
2017-08-09 13:46:15 +01:00
Richard van der Hoff
38114711fd
Make MatrixChat do fewer render cycles during mount
...
This is mostly with the intent of making the login tests more reliable, but it
seems generally worthwhile:
* keep screenAfterLogin in the object props rather than `state` so that we can
clear it without triggering a rerender
* also move our record of the window width to the object props, and call
`handleResize` from componentWillMount rather than componentDidMount so that
we don't trigger a rerender by updating `state.width`
* Remove update of unused `loading` state
2017-08-08 22:31:40 +01:00
Luke Barnard
bef6726290
Lint
2017-08-08 13:42:51 +01:00
Luke Barnard
b08d32371d
Add optional setting for hiding avatars in <Pill>s
...
As part of https://github.com/vector-im/riot-web/issues/4640#issuecomment-316659445
2017-08-08 11:13:29 +01:00
Michael Telatynski
ffdffb643d
allow hiding of avatar/display name changes
2017-08-04 17:22:01 +01:00
David Baker
fe19dbee02
Remove unused component
2017-08-03 09:26:41 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Luke Barnard
c4f049effe
Merge pull request #1243 from matrix-org/t3chguy/hide-join-part-2
...
T3chguy/hide join part (attempt) 2
2017-07-26 17:15:43 +01:00
Michael Telatynski
2348c24369
revert the rm-always-moves-down loop as thats done Server side...
2017-07-26 14:33:48 +01:00
Michael Telatynski
3eb87e2aa3
change lastShownEventIndex -> lastShownEvent since some places
...
do not have the same i reference (namely MELS generation)
this way a member event at bottom of MELS (if is the last event
in the timeline will have last set appropriately)
2017-07-26 12:17:05 +01:00
Michael Telatynski
f42ae1662b
change wording of comment as per Luke's review
2017-07-26 11:46:59 +01:00
David Baker
7469a9ae2a
Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist
2017-07-25 17:20:16 +01:00
David Baker
c2034d5335
Add user list to groups
2017-07-25 15:56:16 +01:00
Michael Telatynski
8e66e64621
fix for loop - check happens before pre-inc so cause issues at end of TL
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 13:16:16 +01:00
Michael Telatynski
c9b547368b
add algo to ensure that RM always moves forwards
...
this is needed so that if a client which does not hide any events
sets and RM at bottom of timeline, then riot-web which hides events
sets the RM it'd set it at X-N where X is bottom and N is the amount of
hidden events at bottom of the timeline, this way now an RM will
fall through to the hidden events below a seen event.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 13:10:57 +01:00
Michael Telatynski
a4abd1baa7
fix comment and remove unused const
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 12:03:32 +01:00
Michael Telatynski
ae973e1e99
unrevert some more...
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 11:37:21 +01:00
Michael Telatynski
7e355f7cda
unrevert most of the logic.
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 23:18:18 +01:00
Michael Telatynski
1fa4fe0b9a
remove comments/commented code
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:51:31 +01:00
Michael Telatynski
5808fce60e
fix logic ordering
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:45:19 +01:00
Michael Telatynski
17758cd1db
attempt to incorporate more code #2
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:43:03 +01:00
Michael Telatynski
e47e14ed19
attempt to incorporate more code #1
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:22:01 +01:00
Michael Telatynski
928294eba3
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/hide-join-part-2
2017-07-21 19:23:42 +01:00
David Baker
f9cff50ef5
_loadGroupFromServer doesn't return a promise
2017-07-21 14:41:29 +01:00
David Baker
d48924e768
Lint
2017-07-21 14:30:09 +01:00
David Baker
be7228996a
This should be null rather than false
2017-07-21 14:18:28 +01:00
David Baker
4eda2ab083
Swap classes instead of using 0 height elements
2017-07-21 14:13:57 +01:00
David Baker
f2afd852d8
Make group editing work
2017-07-21 14:03:10 +01:00
David Baker
571fada77e
Make group profile editing mostly work
...
apart from avatars
2017-07-21 11:12:15 +01:00
David Baker
859239f881
Lint / comment out line correctly
2017-07-17 18:13:20 +01:00
David Baker
7041106bf2
Merge remote-tracking branch 'origin/develop' into dbkr/groupview_edit
2017-07-17 17:23:02 +01:00
David Baker
6f65128928
Disable edit button again
...
until we have an API to edit group profile info
2017-07-17 17:18:46 +01:00
David Baker
1cd79fc918
Rename group settings to 'Edit Group'
2017-07-17 17:17:18 +01:00
David Baker
a32113ad97
Add onChange handlers & tabIndexes
2017-07-17 14:40:38 +01:00
David Baker
f6f80bf9ce
Remove now unused 'edit' block
...
And add some css classes
2017-07-14 17:22:17 +01:00
David Baker
381f685013
Start on editing groups
2017-07-13 18:41:51 +01:00
Luke Barnard
d97de4d576
Implement disabled-by-default setting for auto-replacement of plaintext emojis
...
FTR a list of plaintexts and their unicode equivalents can be found here - https://github.com/vector-im/riot-web/issues/4554#issuecomment-314374303
Pressing space after a matching emoji will replace the plaintext emoji with the equivalent unicode emoji.
2017-07-13 17:37:43 +01:00
Richard van der Hoff
086304532e
Merge pull request #1213 from matrix-org/rav/bluebird
...
Switch matrix-react-sdk to bluebird
2017-07-13 12:06:11 +01:00
Luke Barnard
ce0f9e8803
Merge pull request #1214 from matrix-org/luke/fix-rte-remove-old-disable-md-setting
...
Remove `disableMarkdown` setting
2017-07-13 11:33:42 +01:00
Luke Barnard
4d844ebc34
Merge pull request #1215 from matrix-org/luke/remove-old-composer
...
Remove MessageComposerInputOld
2017-07-13 11:33:23 +01:00
Luke Barnard
04dd98e6e9
Remove references to tabComplete, which are now redundant
...
(since the old composer has been removed)
2017-07-13 10:16:59 +01:00
Luke Barnard
4cc8b5621d
Merge pull request #1212 from matrix-org/luke/fix-ctrl-k
...
Enable ctrl+k room filter focus
2017-07-12 18:20:45 +01:00
Richard van der Hoff
33f330d434
Manual fixup for remaining q incantaions
...
* don't try to use `finally` as a static method
* work around absence of `allSettled`
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0d7cc59d99
replace q method calls with bluebird ones
...
```
find src test -name '*.js' |
xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0254d2b3a2
q(...) -> Promise.resolve
...
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213
replace imports of q
with bluebird
...
update `package.json`
```
find src test -name '*.js' |
xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
find src test -name '*.js' |
xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard
0585fa048f
Remove disableMarkdown
setting
...
This was used by the old composer to control whether to interpret text as markdown prior to sending.
The new setting is `MessageComposerInput.isRichTextEnabled`.
2017-07-12 17:35:19 +01:00
Luke Barnard
6547a55852
Update to reflect previous implementation
...
Which was originally a74bbb424c
2017-07-12 17:12:57 +01:00
Luke Barnard
0dbd1d988e
Enable ctrl+k room filter focus
...
By using the `focus_room_filter` dispatch
2017-07-12 13:51:55 +01:00
David Baker
53316a76f4
Sandbox app iframes
2017-07-12 10:22:14 +01:00
David Baker
eb4e4a66ff
Merge pull request #1206 from matrix-org/rav/login_unmounted_guard
...
Give Login an unmounted guard
2017-07-11 18:37:50 +01:00
Luke Barnard
3bab720a7b
Merge pull request #1208 from matrix-org/rav/timelinepanel_test_flakiness
...
Fix a flaky test in the timelinepanel code
2017-07-11 18:10:55 +01:00