Commit graph

693 commits

Author SHA1 Message Date
David Baker
b9f508a61e Merge pull request #197 from matrix-org/dbkr/starting_room_alias_tidy
Tidy up starting from a room alias when not logged in.
2016-03-04 17:54:37 +00:00
David Baker
068429f3e3 Tidy up starting from a room alias when not logged in. 2016-03-04 17:37:06 +00:00
Matthew Hodgson
fcf17adf14 hopefully fix bug186 by ensuring room members never have null users 2016-03-04 16:57:20 +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
Matthew Hodgson
05a3dab528 fix roomavatars on FF 2016-03-03 16:16:40 +00:00
Matthew Hodgson
27fea6bc95 make the newly invited warning prettier 2016-03-03 15:02:11 +00:00
Matthew Hodgson
cfd6546fe9 default missing state_default to 50, as per https://github.com/matrix-org/matrix-doc/pull/286/files 2016-03-03 12:11:22 +00:00
David Baker
45857fa12c Remove unused voice & video on-clicks from RoomHeader. 2016-03-02 14:54:38 +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
2dbed2aa02 Clarify when room / oobData can/can't be set 2016-03-02 11:59:17 +00:00
David Baker
d61f383748 Oops, actually assign variable 2016-03-02 11:57:05 +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
10b1b6443d Fix rooms we don't have any info about 2016-03-02 10:59:54 +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
dc9a7e5e28 Merge pull request #181 from matrix-org/rav/issue_1049
Fix CallView in left panel
2016-02-29 17:51:39 +00:00
Richard van der Hoff
559f60d43e unmounted check in TimelinePanel 2016-02-29 17:06:38 +00:00
Richard van der Hoff
30abf81ed4 Fix CallView in left panel
Make CallView cope with not being passed a room. Fixes
https://github.com/vector-im/vector-web/issues/1049, introduced in
7a20fda7, which made vector crash when you switched to another room with an
active call.
2016-02-29 13:43:22 +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
543f444174 Merge commit 'd9e58d9' into develop
Undo an over-zealous force-push :(
2016-02-26 16:31:02 +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
2bd6529ca0 Merge remote-tracking branch 'origin/develop' into develop 2016-02-25 18:38:14 +00:00
Will Hunt
081a975d2a Added ES6 function 'fromCodePoint' to retrive first initial for default avatars that begin with a large unicode character. 2016-02-25 16:23:38 +00:00
Richard van der Hoff
2e5df1a96f Merge pull request #173 from matrix-org/rav/configurable_sync_limit
Make the initialSyncLimit configurable
2016-02-25 14:19:31 +00:00
David Baker
e915d7e215 Change some refreshRoomList() calls to dalyed ones to avoid hammering on catchup.
Fixes https://github.com/vector-im/vector-web/issues/544
2016-02-25 11:06:47 +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
a44ef5bd48 fix incomingCallBox vertical offset if MatrixToolbar is present 2016-02-19 02:21:17 +00:00
Matthew Hodgson
957ef9cdc8 fix self-highlight 2016-02-19 01:56:03 +00:00
Matthew Hodgson
d2a731e255 only resize the video element if not fullscreen 2016-02-19 01:18:53 +00:00
Matthew Hodgson
7f310ce307 fix nasty overscroll bug on video element caused by inline v. block 2016-02-19 01:18:37 +00:00
Matthew Hodgson
dc94df4b06 accomodate 800px wide thumbs and support horizontal scaling 2016-02-18 19:09:58 +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
Matthew Hodgson
ca56b7ec2d match partial names in memberlist 2016-02-15 20:43:43 +00:00
Matthew Hodgson
61018f4f38 whitespace 2016-02-15 20:42:44 +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
576de32ce4 show vaguely accurate default avatar 2016-02-15 22:01:22 +02:00
Matthew Hodgson
dfbc88d421 fix keyboard shortcuts on logout prompt 2016-02-15 22:01:05 +02: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