Commit graph

578 commits

Author SHA1 Message Date
Matthew Hodgson
672a5cb89c Merge pull request #200 from matrix-org/matthew/loginfixes
Bring back lost functionality on login/register/password-reset screens
2016-03-15 15:21:32 +00:00
David Baker
836f7ca80d Merge pull request #218 from matrix-org/session_logged_out
Handle the new Session.logged_out event.
2016-03-15 14:51:50 +00:00
Matthew Hodgson
438558da55 PR feedback 2016-03-15 13:48:46 +00:00
Matthew Hodgson
1a74b0c487 Merge pull request #216 from matrix-org/matthew/fix-join-by-room-alias
hopefully fix https://github.com/vector-im/vector-web/issues/819
2016-03-15 13:16:51 +00:00
David Baker
a1b875bb25 Handle the new Session.logged_out event. Log the user out and display a message telling them they've been logged out.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/100 (but safe without)
Fixes https://github.com/vector-im/vector-web/issues/414
2016-03-15 10:48:16 +00:00
Matthew Hodgson
5e050c6276 hopefully fix https://github.com/vector-im/vector-web/issues/819 2016-03-15 00:49:44 +00:00
Matthew Hodgson
79eb54058f oops, backout WIP 2016-03-15 00:48:19 +00:00
Matthew Hodgson
005ebbd037 stop avatar mxids being copy-pastable (unless they contain an initial). should significantly improve https://github.com/vector-im/vector-web/issues/893 2016-03-15 00:21:05 +00:00
Richard van der Hoff
ce150646e6 Merge branch 'develop' into rav/fix_scroll_on_resize 2016-03-14 22:32:54 +00:00
Richard van der Hoff
3173898bc1 Bump the timeline limit to 500
... so that matthew can ctrl-f
2016-03-14 15:47:09 +00:00
Richard van der Hoff
61cd66304e Adjust the scroll position when the gemini panel is resized
Make sure we restore the scroll state of the message panel when it is resized
2016-03-14 15:29:29 +00:00
Richard van der Hoff
8a4a810d1f Merge pull request #214 from matrix-org/rav/gemini-resize
Use our fork of react-gemini-scrollbar to fix resize issues
2016-03-14 13:59:11 +00:00
Richard van der Hoff
74bbb81532 Merge pull request #212 from matrix-org/rav/fix_search_position
Put direct-linked events and search clickthroughs in the middle
2016-03-14 12:49:21 +00:00
Richard van der Hoff
88b3f2ed8c Use our fork of react-gemini-scrollbar to fix resize issues
Rather than telling react-gemini-scrollbar to update every time something that
changes its size happens, try out our fork of it which uses some hackery to
listen for resizes.
2016-03-14 12:46:13 +00:00
Matthew Hodgson
893e338917 incorporate keganfeedback 2016-03-12 19:49:54 +00:00
David Baker
1516f17af4 Merge pull request #210 from matrix-org/dbkr/invite_display_when_peekable
Show the invite preview bar when we have a 3pid invite
2016-03-11 10:21:04 +00:00
David Baker
15170f8718 Comment how we're not rejecting 3pid invites 2016-03-11 10:20:52 +00:00
Richard van der Hoff
3fd066c2d4 Put direct-linked events and search clickthroughs in the middle
We need two modes of operation for ScrollPanel.scrollToToken:

For jump-to-read-marker, we want it 1/3 of the way down the screen.
For search clickthrough, and hyperlinked events, we want put the event in the
*middle* of the screen.

Fixes https://github.com/vector-im/vector-web/issues/1032
2016-03-10 17:27:46 +00:00
David Baker
2875fa3eb1 Show the invite preview bar when we have a 3pid invite, and make the reject button work. 2016-03-10 15:56:58 +00:00
Richard van der Hoff
f9e753f57a Update the gemini panel when we show/hide the TopUnreadMessagesBar
Showing/hiding the TopUnreadMessagesBar resizes the scrollpanel. Make sure that
we update the gemini panel when this happens.

(Fixes an intermittent bug wherein we could get stuck with a 'scroll to bottom'
indicator after jumping to the bottom, with unread messages in the view)
2016-03-10 15:55:03 +00:00
Richard van der Hoff
7660276b54 Merge pull request #209 from matrix-org/rav/local_echoes_are_today
Use 'today' for the date separator for unsent messages
2016-03-10 14:34:18 +00:00
Richard van der Hoff
928b2bb9a7 Use 'today' for the date separator for unsent messages
Fixes https://github.com/vector-im/vector-web/issues/1087, though we'll still
have problems if the unsent messages get out of order.
2016-03-10 14:16:31 +00:00
Richard van der Hoff
3bd33d0985 Fix the missing date separator at the start of rooms
When we first hit the start of the room, we still have a pagination token, so
we hide the date separator. When we try to backpaginate again, we get an empty
result, and the pagination token is cleared.

Make sure that we update state. canBackPaginate even when there are no new
results, to handle this case.

Fixes https://github.com/vector-im/vector-web/issues/1014
2016-03-10 13:42:46 +00:00
Richard van der Hoff
ec2e27a754 Merge pull request #205 from matrix-org/rav/shouldComponentUpdates_2
Re-introduce shouldComponentUpdate methods in RoomView and TimelinePanel
2016-03-09 17:25:11 +00:00
Richard van der Hoff
aabdaa737e Merge pull request #204 from matrix-org/rav/jump_to_read_marker_fix
Make jump-to-read-marker work when the RM event isn't loaded.
2016-03-09 16:12:16 +00:00
Richard van der Hoff
4b333d2363 Update the timeline when a local echo arrives 2016-03-09 15:56:54 +00:00
Richard van der Hoff
6c928f12b2 ForceUpdate the scrollpanel when the aux panel changes size
Catch some more cases when we ought to be updating the gemini scroll stuff.
2016-03-09 15:56:54 +00:00
Richard van der Hoff
393e8ff612 Revert "Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates""
Put the shouldComponentUpdate methods back in, now that Matthew has stopped
demoing.

This reverts commit 606fdcb8df.
2016-03-09 15:56:53 +00:00
Richard van der Hoff
a9da0a014e Merge pull request #203 from matrix-org/rav/optimize_resize
Don't forceUpdate the message panel on resize
2016-03-09 15:55:33 +00:00
Richard van der Hoff
1a371b346e remove spurious debug 2016-03-09 15:51:17 +00:00
David Baker
d54ee4f247 Merge pull request #201 from matrix-org/dbkr/reuse_guest_account
Use the guest access tokens sent in 3pid invite emails.
2016-03-09 15:49:30 +00:00
Richard van der Hoff
b45c256427 Don't forceUpdate the message panel on resize
We don't really need to forceUpdate() the entire timeline panel every time
something might resize it. It is sufficient to forceUpdate the ScrollPanel.
2016-03-09 15:40:19 +00:00
Richard van der Hoff
f60ac2aa5f Make jump-to-read-marker work when the RM event isn't loaded.
If the event corresponding to the read-up-to mark hasn't been loaded into the
timeline window, we can't simply scroll to it. Instead, reload the timeline,
centered on the RM event.

Fixes https://github.com/vector-im/vector-web/issues/1055
2016-03-09 07:54:49 +00:00
Richard van der Hoff
6e23623c28 Fix checkScroll after image load
Make the onImageLoad handler call checkScroll on the right thing. This was
originally done in commit 99d2392, but got broken in the Great RoomView
Refactor of February 2016.
2016-03-07 22:23:14 +00:00
Richard van der Hoff
606fdcb8df Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates"
This reverts commit a7c75b1315, reversing
changes made to b66ca74ede.

This is causing breakage in the messagepanel screen resize after video call and
room settings
2016-03-07 17:28:50 +00:00
David Baker
42a90f49c2 Use the guest access tokens sent in 3pid invite emails. 2016-03-07 17:11:01 +00:00
David Baker
a2c6bd0e6c Merge pull request #199 from mebjas/develop
fixed issue vector-im/vector-web 1079
2016-03-07 16:15:45 +00:00
Minhaz A V
7e7493b336 removed typeof and todo
Signed-off-by: Minhaz A V <minhazav@gmail.com>
2016-03-07 21:16:35 +05:30
Richard van der Hoff
a7c75b1315 Merge pull request #193 from matrix-org/rav/shouldComponentUpdates
Add shouldComponentUpdate() methods to RoomView and TimelinePanel
2016-03-07 11:50:38 +00:00
Matthew Hodgson
0bb58dd60c brings back the functionality in login/register/screens that got lost in @kegsay's refactor. specifically:
1) custom HS/IS urls are now persisted in HTML5 local storage.  As a result, all the login components now distinguish between default HS/IS URLs and custom specified ones again. (
2) custom HS/IS urls are synchronised between the instances of ServerConfig found in the Login, Registration and Forgot Password screens.
3) username are persisted over changing homeserver (but not password, to stop accidentally leaking passwords to the wrong server)
4) correctly interpret a blank URL field as meaning the placeholder text
5) when toggling custom URLs on and off, remember what the custom values were, and use the default URLs if custom mode is not engaged

also, guest access now upholds custom HS/IS URLs found in local storage rather than being limited to the server config ()

also adds assorted comments and improved console debug and a few minor cosmetic changes to the login components.

this commit sponsored by VS27...
2016-03-06 14:33:36 -05:00
Minhaz A V
3c1312a9e6 fixed issue vector-im/vector-web 1079 2016-03-05 23:36:24 +05:30
Richard van der Hoff
7820a5d900 Merge pull request #189 from matrix-org/rav/fix_timeline_react_keys
Flatten arrays of components before adding to messagepanel li
2016-03-04 17:56:18 +00:00
Richard van der Hoff
318bcb1284 Merge pull request #192 from matrix-org/rav/fix_read_receipts
Make sure we update the timelinepanel when a read-receipt arrives
2016-03-04 17:55:29 +00:00
Richard van der Hoff
1738fab2ee Merge pull request #190 from matrix-org/rav/reduce_timeline_limit
Reduce the number of messages we show in the DOM to 250
2016-03-04 17:54:59 +00:00
David Baker
66bed45e67 Merge pull request #195 from matrix-org/dbkr/reenable_upgrade_registration
Re-enable upgrade registration.
2016-03-04 17:54:50 +00:00
David Baker
068429f3e3 Tidy up starting from a room alias when not logged in. 2016-03-04 17:37:06 +00:00
David Baker
4da0e2fd95 Re-enable upgrade registration.
Revert https://github.com/vector-im/vector-web/issues/818 now that https://github.com/vector-im/vector-web/issues/759 is fixed.
2016-03-04 15:41:32 +00:00
Richard van der Hoff
bc5ae6a6ad Add shouldComponentUpdate() methods to RoomView and TimelinePanel
This will avoid re-rendering the whole RoomView every time we get a scroll
event, and might even help with https://github.com/vector-im/vector-web/issues/1056.
2016-03-04 14:51:55 +00:00
Richard van der Hoff
31df97e486 Make sure we update the timelinepanel when a read-receipt arrives
Fixes https://github.com/vector-im/vector-web/issues/1094
2016-03-04 14:47:11 +00:00
Richard van der Hoff
c14b62ee64 Reduce the number of messages we show in the DOM to 250
... as per https://github.com/vector-im/vector-web/issues/1077
2016-03-04 14:07:18 +00:00
Richard van der Hoff
6e86d7553f Flatten arrays of components before adding to messagepanel li
Avoid updating the whole DOM when we paginating by making sure the keys are
right
2016-03-04 13:49:15 +00:00
David Baker
0051c91126 Merge pull request #183 from matrix-org/dbkr/3pid_invite_metadata
Pass room metadata from 3pid invite emails all the way through to the…
2016-03-02 14:31:58 +00:00
David Baker
c585b3edee anothert stray room_ 2016-03-02 14:31:01 +00:00
David Baker
de2eaa3078 Document inviterName 2016-03-02 14:04:51 +00:00
David Baker
5827a883bf This should be just oob_data too 2016-03-02 14:02:36 +00:00
David Baker
4184158a9a Make comment match reality, attempt 2. 2016-03-02 14:01:21 +00:00
David Baker
6319c85272 Make comment match reality 2016-03-02 13:59:55 +00:00
David Baker
5bd2316e7f Oops, it's just oob_data here 2016-03-02 13:58:52 +00:00
David Baker
acb5f5d69b This should be props, not state 2016-03-02 11:56:18 +00:00
David Baker
7ae2c5b11b Document fields of oob_data 2016-03-02 11:51:47 +00:00
David Baker
9085a2a866 Pass room metadata from 3pid invite emails all the way through to the relevant components so we can display it. 2016-03-01 18:23:57 +00:00
Richard van der Hoff
1e3040d19a Fix a race condition handling gappy syncs
We had a problem handling gappy syncs: resetting the timeline would trigger a
pagination request (which would return no results, because there are no events
at this point); this would make the pagination requests which are spawned when
we process the events in the sync get ignored - with the result that we get a
blank window.

The fix is to avoid the ScrollPanel when we are processing new live events and
tell the TimelineWindow to paginate itself directly.
2016-03-01 10:52:56 +00:00
Richard van der Hoff
559f60d43e unmounted check in TimelinePanel 2016-02-29 17:06:38 +00:00
Richard van der Hoff
db1e1c7df0 Fix NPE when re-joining a room
Fix the length check on state.events
2016-02-26 23:05:41 +00:00
Richard van der Hoff
acfc7b3719 Don't throw exceptions when room changes in a timelinepanel
This does happen - fortunately only in circumstances where it's not a
problem. Downgrade the exception to a warning.

Fixes https://github.com/vector-im/vector-web/issues/1036
2016-02-26 22:39:25 +00:00
Richard van der Hoff
d5c83347a6 Merge pull request #173 from matrix-org/rav/configurable_sync_limit
Make the initialSyncLimit configurable
2016-02-26 13:57:30 +00:00
Richard van der Hoff
a9d363c668 Merge pull request #180 from matrix-org/rav/optimise_timeline_load
Make room-switching quicker
2016-02-26 13:29:35 +00:00
Richard van der Hoff
65ecbf93fe Merge pull request #178 from matrix-org/rav/reset_timeline
Reload the timeline when we get a gappy sync
2016-02-26 13:28:20 +00:00
Richard van der Hoff
0d1c85eb7c Make room-switching quicker
Avoid delaying a reactor tick when switching rooms, to make room-switching
(feel) a bit snappier.
2016-02-26 12:25:46 +00:00
Richard van der Hoff
e634f98a13 Show spinners when forward/back paginating. 2016-02-25 18:44:07 +00:00
Richard van der Hoff
4be29401ce Reload the timeline when we get a gappy sync
After a resume from sleep, we don't want to start paginating through the whole
timeline. If we were in 'stuckAtBottom' mode before, treat a gappy sync
similarly to how we handle the 'scroll to bottom' knob, which is to reload the
timelinewindow starting from scratch.

Fixes https://github.com/vector-im/vector-web/issues/932, and will probably
also fix https://github.com/vector-im/vector-web/issues/943, though I haven't
tested it yet.
2016-02-25 18:42:59 +00:00
Richard van der Hoff
10b55036f9 Merge branch 'rav/roomview_works' into develop
Implementation of new read-marker semantics (PR #160).
2016-02-24 17:26:46 +00:00
Richard van der Hoff
1959b03104 Land refactored roomview branch 'rav/roomview_works'.
This branch has been sitting around a while; it includes a substantial refactor
of RoomView (into separate MessagePanel and TimelinePanel), as well as a number
of fixes.
2016-02-24 16:52:12 +00:00
Richard van der Hoff
1009faf9dc Merge pull request #171 from matrix-org/rav/typing_notifs_cleanups
Don't forceUpdate the whole roomview on typing notifs
2016-02-24 16:45:45 +00:00
Richard van der Hoff
7a19bad388 Merge pull request #170 from matrix-org/rav/video_resize
Factor out a separate auxpanel, and cleanup the maxHeight management
2016-02-24 16:45:25 +00:00
Richard van der Hoff
4ce3598274 Make the initialSyncLimit configurable
I keep wanting to change this to test things, and can never find the right
place to change it. Make it configurable.
2016-02-24 16:42:23 +00:00
Richard van der Hoff
68e0192acc reinstate event-continuation logic
Forgot to set prevEvent in the merge from develop, so we were never applying
the correct continuation logic.
2016-02-23 18:43:51 +00:00
David Baker
3f51cda846 Register a s a guest even if email invite: this is ok now. 2016-02-23 18:30:35 +00:00
David Baker
e2bafcbf02 Don't redirect to registration on 3pid invite: it's ok to be a guest now. 2016-02-23 18:26:15 +00:00
David Baker
b2b7354018 Comment guest access initial state 2016-02-23 18:10:48 +00:00
David Baker
418bf8e39c Allow guest access by default (by specifying initial state) as rooms are private by default so they'd have to be invited to join. People can't get a 3pid invite & join as guest without this. 2016-02-23 17:55:45 +00:00
David Baker
b384d8c91a Merge pull request #168 from matrix-org/dbkr/keypair_3pid_invites
Wire up support for keypair 3pid invites.
2016-02-23 16:37:55 +00:00
Richard van der Hoff
07822e20cb Don't forceUpdate the whole roomview on typing notifs
updating the roomview is expensive, so we shouldn't do it every time we get a
typing notification (which may or may not correspond to a user in this
room). Push it down to RoomStatusBar, and use a state var to keep track of it.
2016-02-23 16:17:50 +00:00
Richard van der Hoff
7a20fda7e7 Factor out a separate auxpanel, and cleanup the maxHeight management
Basically two changes here:

1. Factor out auxpanel from RoomView
2. Rather than setting maxHeight attributes by poking directly into the DOM,
pass them down as properties.
2016-02-23 15:54:15 +00:00
Richard van der Hoff
d599c8fbd2 Merge remote-tracking branch 'origin/develop' into rav/roomview_works 2016-02-23 13:37:21 +00:00
Richard van der Hoff
ac4b36c0dd Merge commit '99d2392' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 13:32:23 +00:00
Richard van der Hoff
4a22fb9763 Merge commit '26e6632' into rav/roomview_works 2016-02-23 13:25:09 +00:00
Richard van der Hoff
21850d7e2f Merge commit 'd7b3a24' into rav/roomview_works 2016-02-23 13:24:58 +00:00
Richard van der Hoff
9eff426819 Merge commit '71e2495' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 13:24:38 +00:00
Richard van der Hoff
6aaced04fa Merge commit 'd2a731e' into rav/roomview_works 2016-02-23 13:02:26 +00:00
Richard van der Hoff
776b6a26c3 Merge commit '9a0ea56' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 13:02:02 +00:00
Richard van der Hoff
b1093f3f4b Merge commit 'e972686' into rav/roomview_works 2016-02-23 12:57:53 +00:00
Richard van der Hoff
4c571cf1bf Merge commit 'eb91faf' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 12:56:54 +00:00
Richard van der Hoff
7f4f30d7d5 Merge commit 'e3feae3' into rav/roomview_works 2016-02-23 12:01:53 +00:00
Richard van der Hoff
3acfab48fc Merge commit '014acba' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 12:00:54 +00:00
Richard van der Hoff
8161a18efd Merge commit 'b1a6575' into rav/roomview_works 2016-02-23 11:56:51 +00:00
Richard van der Hoff
d673249681 Wire up StatusBar size changes to a geminipanel update
When the statusbar changes size, we need to tell the gemini panel to
update. This is slightly tortuous as figuring out the size of the statusbar
isn't completely trivial.

Fixes https://github.com/vector-im/vector-web/issues/945 and
https://github.com/vector-im/vector-web/issues/986
2016-02-23 11:06:16 +00:00
David Baker
ac9f0f204d Wire up support for keypair 3pid invites. 2016-02-23 10:15:07 +00:00
Richard van der Hoff
99d2392b6f Update the scroll offset when images load
In order to deal with image-loading reshaping the DOM, wire up
ScrollPanel.checkScroll to the image load events.

Fixes https://github.com/vector-im/vector-web/issues/984
2016-02-22 17:43:33 +00:00
Richard van der Hoff
26e66326a2 Link search results to the right room
Fixes https://github.com/vector-im/vector-web/issues/980
2016-02-22 12:54:22 +00:00
David Baker
d7b3a24c18 Merge pull request #165 from matrix-org/dbkr/read_receipt_send_ignore_implicit
Fix stuck notification bug
2016-02-19 16:20:12 +00:00
David Baker
71e2495e81 Use new flag in js-sdk to look at the last read receipt the server actually has and ignore implicit ones, otherwise we can end up not sending an RR because we think there's already a more recent one, even though that one is implicit. 2016-02-19 14:45:02 +00:00
Matthew Hodgson
b4fe9473d5 improve error messages when failing to talk to a HS 2016-02-19 14:17:41 +00:00
Matthew Hodgson
d2a731e255 only resize the video element if not fullscreen 2016-02-19 01:18:53 +00:00
Matthew Hodgson
12f5407392 remove ... in error view 2016-02-18 18:16:48 +00:00
Matthew Hodgson
9a0ea56bba don't suppress conf join/parts 2016-02-18 00:07:35 +00:00
Richard van der Hoff
e9726865fc Merge pull request #162 from matrix-org/rav/keep_redactions
Handle redacted events
2016-02-17 21:42:39 +00:00
Richard van der Hoff
c4176ab706 Merge pull request #163 from matrix-org/rav/fix_search_clickthrough
Fix search clickthrough for HTML events
2016-02-17 21:35:39 +00:00
Richard van der Hoff
e3feae32e1 Fix search clickthrough for HTML events
Switch to using a normal <a href="..."> link for search result
clickthrough. Apart from generally giving a better experience, this means that
it also works on html messages. The problem there was that we were attaching
onClick handlers to <span>s which we were then flattening into HTML with
ReactDOMServer (which meant the onClick handlers were never attached to React's
list of listeners).

To make this work without jumping through React hoops, the highlighter now
returns either a list of strings or a list of nodes, depending on whether we
are dealing with an HTML event or a text one. We therefore have a separate
HtmlHighlighter and TextHighlighter.
2016-02-17 21:06:27 +00:00
Matthew Hodgson
b087157855 Merge branch 'develop' into rav/update_status_bar 2016-02-17 18:38:47 +00:00
Matthew Hodgson
38a2a61b38 back out hacky previous commit as #946 only happens when gemini is disabled 2016-02-16 19:39:22 +00:00
Matthew Hodgson
34d0fc890a disable scroll-to-token entirely temporarily - https://github.com/vector-im/vector-web/issues/946 2016-02-16 17:39:32 +00:00
Richard van der Hoff
eb91faf554 Handle redacted events
matrix-js-sdk now retains redacted events. Filter them out of the timeline.

Also put empty placeholders in the dom so that if we try to scroll to a
redacted event, we don't end up blowing up.
2016-02-16 16:08:52 +00:00
Richard van der Hoff
db09d3d9e4 Move ghost-read-marker logic to MessagePanel 2016-02-15 23:05:58 +00:00
Richard van der Hoff
63511d4e71 Refactor the EventTile loop
... so that it's a bit more tractable.
2016-02-15 23:05:42 +00:00
Richard van der Hoff
06133b0467 Add a null guard for matrix client TimelinePanel.componentWillUnmount
client can be null when unmounting
2016-02-15 23:04:21 +00:00
Matthew Hodgson
4b8b2ade8b fix login-on-guest-bar-NPE crash https://github.com/vector-im/vector-web/issues/930 2016-02-15 21:50:39 +00:00
Richard van der Hoff
ab9690d3b0 Don't re-tint on unmount
Need to remember the 'ref' function is called on unmount too - we shouldn't
retint back to the room colours at this point.
2016-02-15 20:40:34 +00:00
Matthew Hodgson
6b48b626e6 fix spinner of doom 2016-02-15 20:39:02 +00:00
Matthew Hodgson
0d153df417 improve registration fail error msg slightly 2016-02-15 21:58:37 +02:00
Matthew Hodgson
014acbab1f restore drag & drop file upload, broken by @richvdh's new timeline stuff 2016-02-15 21:16:04 +02:00
Matthew Hodgson
b1a6575b1d remove ugly join & reject error msgs in favour of modal dialogs 2016-02-15 20:59:44 +02:00
Matthew Hodgson
30e9c76089 login as guest button on the login page 2016-02-15 20:44:13 +02:00
Richard van der Hoff
0e0d0cf4f5 post-review tweaks 2016-02-11 15:38:13 +00:00
Richard van der Hoff
f2377fa9fe Factor out a TimelinePanel from RoomView 2016-02-10 18:41:48 +00:00
Richard van der Hoff
c3692378fa Factor a stateless messagepanel out from RoomView 2016-02-10 18:41:47 +00:00
David Baker
1e945cd13b Don't show the Notifications widget for guests since they can't use them (and it throws an error if you try to mount it). 2016-02-10 11:48:35 +00:00
Richard van der Hoff
0d2b042c0f Merge pull request #148 from matrix-org/rav/keep_scrolling
Don't stop scrolling at the read-up-to mark.
2016-02-10 10:20:03 +00:00
David Baker
af0597e0c8 Joining a room can take a while. Show a spinner otherwise we'll end up in multiple join city. 2016-02-09 16:55:03 +00:00
Richard van der Hoff
f48f28eefe Kill another scrollToToken
Missed a place where we were scrolling the messagepanel manually
2016-02-09 15:50:09 +00:00
Richard van der Hoff
576b59be66 Kill off the remains of auto_peek
Remove some dead code.
2016-02-09 15:45:41 +00:00
Richard van der Hoff
178e99385a Merge remote-tracking branch 'origin/develop' into rav/keep_scrolling 2016-02-09 14:52:38 +00:00
Richard van der Hoff
30b4b91cf3 Show jump-to-bottom icon even when there is other stuff in the status bar
Also includes a general simplification of the classes being used in the status
bar.

This should fix vector-im/vector-web#879. Obviously it needs corresponding
changes in the CSS in vector-web.
2016-02-09 14:45:30 +00:00
Richard van der Hoff
7fd56351a9 Fix 'unread messages' in status
This got broken in the previous commit
2016-02-09 12:40:11 +00:00
Richard van der Hoff
194110dd71 Merge pull request #147 from matrix-org/rav/factor_out_statusbar
Factor the statusbar implementation out of RoomView.
2016-02-09 11:38:40 +00:00
Richard van der Hoff
81e95ca8c1 Wire up jump-to-bottom knob
... which I embarassingly forgot
2016-02-09 11:36:57 +00:00
Richard van der Hoff
8641dab756 Don't stop scrolling at the read-up-to mark.
We want to keep things scrolling up after the read-up-to mark hits the middle
of the screen. Do this by giving the ScrollPanel a stickyBottom (provided we're
not in old history) instead of updating the scroll position when RRs arrive.

Also, when we switch back to a room, if there was no special scroll state, jump
to the end of the timeline instead of the RR mark.
2016-02-09 11:08:26 +00:00
Kegsay
da81d240e2 Merge pull request #146 from matrix-org/kegan/warning-bars-dom
Use constant div nesting when warning bars appear
2016-02-09 11:03:31 +00:00
Richard van der Hoff
1d9c88698f Factor the statusbar implementation out of RoomView
... because RoomView must die
2016-02-08 18:08:19 +00:00
Kegan Dougal
ecaa2c1e11 Fix the mess of warning bars so it doesn't trigger remounts of alllll the components 2016-02-08 17:20:52 +00:00
Richard van der Hoff
3ca2bbe31e Drop a redundant 'else' from RoomView.render, and outdent a load of code
... in the hope of aiding readability slightly
2016-02-08 16:43:08 +00:00
David Baker
9bf8f37e5f explicitly check join status as it's clearer 2016-02-08 16:03:04 +00:00
David Baker
baba500150 Filter rooms by ones we're in: getRooms() is not the set of rooms we are joined.
Fixes https://github.com/vector-im/vector-web/issues/885
2016-02-08 14:33:10 +00:00
David Baker
05f1e1e205 Merge pull request #140 from matrix-org/dbkr/fix_tab_complete
Fix tab complete
2016-02-08 14:19:06 +00:00
Kegsay
4ce41f7f6c Merge pull request #141 from matrix-org/kegan/room-settings-refactor
Refactor room settings
2016-02-05 15:50:39 +00:00
Kegan Dougal
03f19eba55 Implement radio boxes ( vector-im/vector-web#731 ) for history visibility. Hook up remaining bits. 2016-02-05 14:38:28 +00:00
David Baker
500c12b1f2 Fix tab complete
rate limited functions can't have arguments, so don't pass the room into
_updateTabCompleteList as it's always the room in our state.
2016-02-05 14:32:30 +00:00
Kegan Dougal
0cbf9dba87 Glue more things back together 2016-02-05 11:59:19 +00:00
David Baker
0ae548cf5d Merge pull request #139 from matrix-org/dbkr/rate_limit_funcs
Make the function call-rate limiting a generic thing and use it in more places.
2016-02-05 10:15:55 +00:00
David Baker
63776509a6 Make the function call-rate limiting a generic thing and use it in more places. 2016-02-04 18:06:24 +00:00
Richard van der Hoff
5ae532dae2 Merge pull request #138 from matrix-org/rav/update_rr_semantics
Tweaks to the semantics for sending RRs and handling room switches
2016-02-04 17:42:15 +01:00
Richard van der Hoff
d14c1a82b2 Tweaks to the semantics for sending RRs and handling room switches
* Only send read receipts when we are at the bottom of a room; this is a simple
  and effective way of stopping the green bar of doom from jumping down the
  room slightly behind the scroll.

* Jump to read-up-to mark when switching back to a room if we were following
  the live timeline before.
2016-02-04 16:27:49 +00:00
Kegan Dougal
74e16ac83e Merge branch 'develop' into kegan/room-settings-refactor 2016-02-04 16:20:24 +00:00
Kegsay
75ff4f0f95 Merge pull request #135 from matrix-org/kegan/sync-limit
Set the sync limit back to sane levels
2016-02-04 15:47:31 +00:00
David Baker
d1467d2319 Merge pull request #136 from matrix-org/dbkr/prompt_display_name_on_join
Prompt for display name before joining your first room
2016-02-04 15:32:52 +00:00
Kegan Dougal
4013dae770 Start refactoring RoomSettings
- Don't manipulate settings in RoomView. Make it RoomSettings' job.
- Return Promise[] from AliasSettings.save() rather than an allSettled promise
  so callers can have more granularity over what to do with it (.all vs .allSettled)
- General refactoring of RoomSettings. Most things are broken now and are not
  submitted. Add util methods to grab values out of events.
2016-02-04 15:26:12 +00:00
David Baker
167da10b8b address PR comments 2016-02-04 15:07:30 +00:00
David Baker
6e424780f1 typo 2016-02-04 14:38:05 +00:00
David Baker
d0c8dadaf6 Merge pull request #134 from matrix-org/dbkr/fix_preview_bar
Put the room preview bar back for rooms that aren't peekable
2016-02-04 14:10:18 +00:00
Richard van der Hoff
309f1e2c8f Merge pull request #131 from matrix-org/rav/search_clickthrough
Enable clicking on search results to switch to the result in context.
2016-02-04 15:06:39 +01:00
Richard van der Hoff
63b50ed230 Merge pull request #132 from matrix-org/rav/fix_404_on_echo
Don't try to use local echoes as scroll tokens
2016-02-04 15:05:35 +01:00
Richard van der Hoff
8f5c739886 Clean up scrollToken assignment 2016-02-04 14:05:16 +00:00
Kegan Dougal
f3fa5d6a2a Set the sync limit back to sane levels 2016-02-04 13:30:25 +00:00
David Baker
b0da54533d Don't do this check - it's not valid since we set the room in onRoomName 2016-02-04 13:25:45 +00:00
David Baker
891f4761a0 Add comments and only set a room / init the timeline if we don't already have a room 2016-02-04 13:21:42 +00:00
Kegsay
6c9d48bd3a Merge pull request #128 from matrix-org/kegan/alias-settings
Split out alias settings into its own component: AliasSettings
2016-02-04 13:14:19 +00:00
David Baker
574560cc05 remove listener on unmount 2016-02-04 13:06:59 +00:00
David Baker
47fef0896f Prompt for display name before joining your first room (if you haven't set one).
Fixes https://github.com/vector-im/vector-web/issues/758
2016-02-04 11:49:10 +00:00
David Baker
3c2c2b051b Listen for Room and use this to init the timeline, not Room.name 2016-02-04 11:29:00 +00:00
David Baker
c9a3ad31ab Comment error handling 2016-02-04 11:17:39 +00:00
David Baker
5c430395ea init timeline when we get the room, as otherwise we never load it after joining 2016-02-04 10:50:21 +00:00
David Baker
164c9b9031 Check error to see if it's actually a failure to peek 2016-02-03 16:53:48 +00:00
Kegan Dougal
8b96af4ccb Display the version in UserSettings. Change MatrixChat.onNewVersion to onVersion 2016-02-03 16:51:53 +00:00
David Baker
cebc2f5306 Put the room preview bar back for rooms that aren't peekable (since we always tried to peek, it would fail which would reject the promise and cause loadingTimeline to stay true forever). 2016-02-03 16:23:57 +00:00
Kegan Dougal
7bdd9f57a5 Add MatrixChat.onNewVersion to trigger the new version bar 2016-02-03 16:16:52 +00:00
Richard van der Hoff
d7576d223d Don't try to use local echoes as scroll tokens
Local echoes don't have a (usable) event id, so don't use them when remembering
the scroll state of a room.
2016-02-03 15:34:20 +00:00
David Baker
11df2fc285 Merge remote-tracking branch 'origin/develop' into dbkr/no_auto_join 2016-02-03 15:18:18 +00:00
Richard van der Hoff
e747beac58 Enable clicking on search results to switch to the result in context. 2016-02-03 15:06:52 +00:00
Richard van der Hoff
e01d61dfeb Merge branch 'rav/timeline_window' into rav/link_to_event
Conflicts:
	src/components/structures/MatrixChat.js
	src/components/structures/ScrollPanel.js
2016-02-03 14:12:28 +00:00
Richard van der Hoff
2479c81cf6 Merge remote-tracking branch 'origin/develop' into rav/timeline_window 2016-02-03 14:09:50 +00:00
Richard van der Hoff
c82b364ca8 Address review comments
Mostly renaming things and adding comments.
2016-02-03 08:03:10 +00:00
Richard van der Hoff
3b1ed3a014 Fix react warnings when a RR animation is happening during room switch
If the animation of an RR removal is active when we change room, we end up
getting a callback after the RoomView has been unmounted. Guard against this to
avoid getting React warnings.
2016-02-02 17:59:11 +00:00
David Baker
b0f0d5f6d0 Null check room because those events will be emitted before the room is stored. 2016-02-02 16:34:41 +00:00
David Baker
1cabe2ec37 Don't auto join rooms: always 'autoPeek' (ie. see if we can peek, otherwise offer to join) 2016-02-02 15:50:15 +00:00
David Baker
4e4e5be9a1 Disable upgrade registration temporarily. Fixes https://github.com/vector-im/vector-web/issues/818. 2016-02-02 14:14:18 +00:00
Kegan Dougal
ce789ba962 Split out alias settings into its own component: AliasSettings 2016-02-02 12:46:14 +00:00
David Baker
c187eda832 Don't assert that we're not logged in before starting registration because uprading is now a thing. 2016-02-01 16:53:39 +00:00
Richard van der Hoff
d9e13780b8 Implement direct-to-event linking.
This adds support for links to particular event ids: add /<eventId> to the URL
for a room.

This commit also ensures that we scroll to the 'read marker' when switching to
a room which has no previous scroll state, as well as preventing that marker
from going past the middle of the screen.

This also reinstates the preservation of scroll state when switching rooms,
which was disabled previously.
2016-02-01 16:31:12 +00:00
Richard van der Hoff
f0cf5c0aff Update onRoomTimeline comment 2016-02-01 12:35:41 +00:00
Richard van der Hoff
2c04b9cb5b Merge pull request #124 from ajohnson23/messages_scrolldown_fix
Fix improper scrolldown button display issue.
2016-02-01 11:38:14 +01:00
Andrew Johnson
fe9d7d10b9 Fix improper scrolldown button display issue.
This fixes an intermittent issue where the scrolldown button
or "new messages below" button would display even when the messages
panel was scrolled to the very bottom. Furthermore, when new messages
arrived, the messages panel would not automatically scroll down to show
the new messages.

Fixes https://github.com/vector-im/vector-web/issues/805
2016-01-29 22:32:32 -05:00
David Baker
401d18bcc6 Fix registration: don't auto-log in as a guest if we have a URL from sydent. 2016-01-28 15:42:14 +00:00
David Baker
640e87e7c5 Merge pull request #117 from matrix-org/dbkr/guest_warning_bar
Add warning bar for guest users.
2016-01-28 13:44:06 +00:00
David Baker
83119d21d6 New style guest warning bar 2016-01-28 12:59:51 +00:00
Kegsay
12463aec4d Merge pull request #115 from matrix-org/kegan/fix-3pid-signup
Redirect to the registration page when landing with ?email=
2016-01-28 12:00:06 +00:00
David Baker
796a2e5e3a Revert e5f4fa8c46 as it's no longer what's desired. 2016-01-28 11:15:43 +00:00
Richard van der Hoff
a4f4bb9e72 Convert RoomView to using a TimelineWindow
Instead of using the Room's active timeline directly, use a
TimelineWindow. This shouldn't (yet) have much effect, beyond maybe making
scrollback after a gappy sync slightly more efficient.

For now, I have disabled the 'restoreScrollState' functionality. This will be
reinstated once I land the link-to-event code.
2016-01-28 10:53:43 +00:00
Kegan Dougal
81cc30bab2 Null guard because this may not exist in the DOM. 2016-01-28 10:52:08 +00:00
Kegan Dougal
e017559765 New line 2016-01-28 09:58:51 +00:00
David Baker
7ea45f9888 Move message count to suffix in title, as requested by @ara4n 2016-01-27 18:03:01 +00:00