Commit Graph

1391 Commits (be5f29d03b19649b5e13a06e80f99ec794299bee)

Author SHA1 Message Date
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 862e3c8c43 Merge commit '3f1db5a' into rav/roomview_works 2016-02-23 13:26:11 +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 bb6a36b911 Merge pull request #167 from matrix-org/rav/fix_image_load
Update the scroll offset when images load
2016-02-22 17:53:36 +00:00
Richard van der Hoff 4158a007db Give <a> elements in search results a key
... to make react shut up about them
2016-02-22 17:44:34 +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
David Baker c053f90b18 Merge pull request #164 from matrix-org/make_room_links_valid
Make the links we emit for room URLs valid
2016-02-19 11:40:11 +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
David Baker aef04d682b Make the links we emit for room URLs valid rather than relying on the onClick handler (ie. make them work if you c+p them) 2016-02-18 18:16:39 +00:00
Matthew Hodgson 4d7eb5795c tint border-left 2016-02-18 00:32:46 +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 687eae7f43 stop floods of notifs when doing a logout+login 2016-02-15 22:07:08 +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 af5a866596 clear upload bar correctly after upload completes by fixing a race and moving the upload_finished dispatch after clearing up the inprogress uploads data structure. I have zero idea how this ever worked... :/ 2016-02-15 21:29:56 +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
Matthew Hodgson e17d77778f sanitize setting displayname prompt 2016-02-15 19:37:03 +02:00
Richard van der Hoff b766055f2f Merge branch 'develop' into rav/roomview_works 2016-02-15 17:24:15 +00:00
Richard van der Hoff 601a7ce9fd Merge branch 'develop' into rav/roomview_works 2016-02-15 12:19:53 +00:00
Matthew Hodgson 0c7573629a spell out that you can invite email addresses 2016-02-15 11:13:37 +02:00
Matthew Hodgson 0a37f1c478 improve the fix for https://github.com/vector-im/vector-web/issues/917 2016-02-15 09:52:57 +02:00
Matthew Hodgson 9d3b0f6075 fix https://github.com/vector-im/vector-web/issues/913 2016-02-15 00:37:59 +02:00
Matthew Hodgson 5e407b44b7 add markdown to tab complete list 2016-02-14 13:45:52 +02:00
Matthew Hodgson 5e5fdb9b96 fix vector-im/vector-web#921 2016-02-14 13:38:12 +02:00
Richard van der Hoff 4d6131bbc4 Merge branch 'develop' into rav/roomview_works 2016-02-12 10:21:22 +00:00
Richard van der Hoff 3e8cb47abe Consider mouse-clicking as user activity
It's a bit non-sensical that moving the mouse constitutes user activity, but
clicking it does not. Fix it.
2016-02-12 10:19:45 +00:00
Richard van der Hoff 0e0d0cf4f5 post-review tweaks 2016-02-11 15:38:13 +00:00
Matthew Hodgson 1c30640a92 remove unused 'body' var; use a `finally` to clean up the temporary textfilter 2016-02-11 14:03:54 +00:00
Matthew Hodgson 92435c0865 ooops, don't forget to actually sanitize the highlights after all that 2016-02-10 23:45:07 +00:00
Matthew Hodgson d055dbe522 use sanitize-html's textFilter callback to only apply highlights to textNodes when highlighting HTML. fixes https://github.com/vector-im/vector-web/issues/294 2016-02-10 20:25:49 +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 f016a327b1 Merge pull request #152 from matrix-org/dbkr/fix_room_settings_guest_exception
Don't try to fetch push rules if we're a guest: it throws.
2016-02-10 12:34:08 +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
David Baker 038f613079 Don;t try to fetch push rules if we're a guest: it throws. 2016-02-10 11:16:36 +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 bd73c4e0cc Merge pull request #151 from matrix-org/dbkr/spinner_while_joining
Joining a room can take a while. Show a spinner…
2016-02-09 17:45:09 +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
David Baker b4a7124686 Add a null check here since room can be null and this was throwing 2016-02-09 16:48:12 +00:00
Richard van der Hoff b5f7bd6cfb Merge pull request #149 from matrix-org/rav/kill_autopeek
Kill off the remains of auto_peek
2016-02-09 15:59:46 +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
Matthew Hodgson 3fd7dff264 unbreak safari 2016-02-09 15:08:04 +00:00
Matthew Hodgson baa6826409 better commenting 2016-02-09 15:08:04 +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 a2e50eb496 Merge pull request #143 from matrix-org/dbkr/fix_display_name_prompt_when_peeking
Filter rooms by ones we're in: getRooms() is not the set of rooms we are joined.
2016-02-08 16:03:37 +00:00
David Baker 9bf8f37e5f explicitly check join status as it's clearer 2016-02-08 16:03:04 +00:00
Kegan Dougal 2027ed9f49 Fix bug where clicking on the email tile didn't work 2016-02-08 15:21:23 +00:00
Kegan Dougal 70ed0be389 Merge branch 'develop' into kegan/invite-autocompleting-race 2016-02-08 15:06:13 +00:00
Kegan Dougal 3fa23798ea Split out invite memberlist logic into its own component 2016-02-08 15:05:35 +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
Kegan Dougal 7ccce1dc91 Reset truncation when the text box is cleared 2016-02-05 16:58:37 +00:00
Kegan Dougal 5dafe1f4a6 Fix canonical alias bug showing the first alias if one was not set.
<select> rests on the first value if the defaultValue is null. This first value
should've been 'not set'.
2016-02-05 16:22:24 +00:00
Kegsay ac67cd556a Merge pull request #142 from matrix-org/kegan/truncate-invite-search-list
Fix vector-im/vector-web#851 by truncating the search results
2016-02-05 15:56:23 +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 b99c6b9a97 camelCasePlease 2016-02-05 15:48:04 +00:00
Kegan Dougal a0c5b30fd6 Fix vector-im/vector-web#851 by truncating the search results 2016-02-05 15:24:51 +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 ef9b4ab1e6 Log when sessions are saved/restored/not found 2016-02-05 13:32:01 +00:00
Kegan Dougal 0cbf9dba87 Glue more things back together 2016-02-05 11:59:19 +00:00
Kegan Dougal 78354d0bc7 Yank out color settings from RoomSettings to ColorSettings 2016-02-05 11:27:11 +00:00
David Baker 9525808cd0 Merge pull request #137 from matrix-org/dbkr/roomlist_unregister_event_handlers
Unregister some event handlers we'd registered but never unregister.
2016-02-05 10:48:22 +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 239abf4eca Style things from PR comments 2016-02-05 09:51:09 +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
Kegan Dougal 73df5a2828 Modify how checked state is passed around
Prefer onChange -> setState to ref grabbing so we can expose public setters
and not be tied down to certain element implementations.
2016-02-04 16:18:59 +00:00
David Baker c0d93a78bc Unregister some event handlers we'd registered but never unregister. 2016-02-04 15:55: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
Kegsay 20f77d1224 Merge pull request #125 from matrix-org/kegan/trailing-slash
Strip trailing slashes on HS/IS URLs on register/login
2016-02-02 16:04:19 +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
Kegan Dougal e6c93530e2 Strip trailing slashes on HS/IS URLs on register/login 2016-02-01 14:19:20 +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 7301f53807 Merge pull request #121 from matrix-org/dbkr/fix_registration_guest_access
Fix registration: don't auto-log in as a guest if we have a URL from …
2016-01-28 16:21:16 +00:00
Kegsay 6bb69ef2d1 Merge pull request #120 from matrix-org/kegan/bulk-email-invite
Support bulk invitations via text separators
2016-01-28 16:21:05 +00: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
David Baker 37ab225894 Merge pull request #119 from matrix-org/dbkr/own_messages_not_unread
Your own messages should not count as unread
2016-01-28 12:42:21 +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
Kegan Dougal bdc1028a7e Support bulk invitations via text separators
Valid separators are , ; <space>
2016-01-28 11:56:20 +00:00
David Baker 796a2e5e3a Revert e5f4fa8c46 as it's no longer what's desired. 2016-01-28 11:15:43 +00:00
David Baker 7d621d88d8 Your own messages should not count as unread 2016-01-28 11:12:56 +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 f745e941ec Fix exception thrown if any custom tags are set 2016-01-28 09:41:46 +00:00
David Baker 7ea45f9888 Move message count to suffix in title, as requested by @ara4n 2016-01-27 18:03:01 +00:00
David Baker e5f4fa8c46 Add warning bar for guest users. Fixes https://github.com/vector-im/vector-web/issues/770 2016-01-27 17:58:47 +00:00
David Baker 4661bb0942 Don't show a spinner while we're waiting for the user to do something 2016-01-27 15:44:12 +00:00
David Baker 8360c112fb Put the favicon badge call in a try block, as per comment 2016-01-27 15:19:25 +00:00
Kegan Dougal db8fab8019 Redirect to the registration page when landing with ?email=
Fixes "Missing access token" error.
2016-01-27 10:47:54 +00:00
David Baker f8cc6bdad6 Don't count as an unread message if we don't have a tile for it. 2016-01-25 17:13:07 +00:00
Matthew Hodgson c1f28bb6b9 hide 'unknown screen' warning 2016-01-24 19:14:14 +00:00
Matthew Hodgson 6eea1f7f83 try for a simpler invite placeholder look & feel 2016-01-24 19:02:18 +00:00
Matthew Hodgson 872b9be17a increase truncatelist size to match INITIAL_LOAD_NUM_MEMBERS 2016-01-24 18:24:26 +00:00
Matthew Hodgson bc60435750 improve settings layout and fix FF bugs 2016-01-24 18:15:08 +00:00
Matthew Hodgson bb0051f24f fix another NPE; apparently some stylesheets don't have href attributes (wtf?) 2016-01-24 11:46:25 +00:00
Matthew Hodgson 3da76192a1 title attr 2016-01-24 02:01:45 +00:00
Matthew Hodgson f15564074c track whether we're scrolled to bottom or not and display UI for warning & jumping there if needed. 2016-01-24 01:51:01 +00:00
Matthew Hodgson 28fddef5f9 only try to tint our CSS, otherwise random extensions which have inserted CSS may cause untrappable XSS SecurityErrors to throw 2016-01-23 19:46:00 +00:00
Matthew Hodgson 001b9ad7cc try to trap SecurityError exceptions for linux FFs who don't like you calling .contentDocument on an SVG (assuming that's where the error comes from) 2016-01-23 18:59:37 +00:00
Matthew Hodgson add8ef3c59 trap for ss.cssRules mysteriously returning null 2016-01-22 19:59:41 +00:00
Kegsay 9a6f33861f Merge pull request #112 from matrix-org/kegan/email-invite-tile
Add a tile to the invitee list which represents an email tile
2016-01-22 17:35:17 +00:00
Kegan Dougal 437280020c Turn off autocomplete for search list 2016-01-22 17:32:43 +00:00
Kegan Dougal e78c1fba87 Hide 'Email: ' is the first char is @ 2016-01-22 17:28:23 +00:00
Matthew Hodgson b19a318b2d put a black badge on unread notifications, and a red one for unread highlights 2016-01-22 17:22:49 +00:00
Kegan Dougal c3f786cc5e Add a tile to the invitee list which represents an email tile 2016-01-22 17:20:52 +00:00
Matthew Hodgson 4631648f26 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into develop 2016-01-22 17:01:28 +00:00
Matthew Hodgson 24225af416 work around history visibility roomsetting UI some more 2016-01-22 17:01:15 +00:00
Kegsay ed3a112e5c Merge pull request #111 from matrix-org/kegan/search-on-mxid-and-displayname
Match entities based on uid/displayname and include partials/stripping
2016-01-22 16:19:59 +00:00
Kegan Dougal 2d96f90181 Review comments 2016-01-22 16:18:23 +00:00
Kegsay 2e154c7478 Merge pull request #110 from matrix-org/kegan/3pid-invite-refresh-mlist
Refresh the membership list on 3PID invites
2016-01-22 16:13:42 +00:00
Kegan Dougal 99da0ef656 Fix vector-im/vector-web#694 - Empty invitee list
The invitee list is lazy-loaded 50ms after the first render. We were relying
on setState from the member lazy-load to also kick the invitee list. However,
setState is synchronous and we were loading the invitee list afterwards, which
meant that the SearchableEntityList wouldn't have any invitees until the next
render().
2016-01-22 16:11:09 +00:00
Kegan Dougal 38d5c7d5c5 Filter out undefined/null children which won't render 2016-01-22 15:57:42 +00:00
Matthew Hodgson 1dd2cbed63 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into develop 2016-01-22 15:51:34 +00:00
Matthew Hodgson 0bef94a6ce fudge around https://github.com/vector-im/vector-web/issues/731 2016-01-22 15:51:27 +00:00
Kegan Dougal 675e0f176f Add onShowMoreRooms prop for kicking gemini 2016-01-22 15:46:38 +00:00
Matthew Hodgson 0bdd674f7f fix invalid powerlevel setting 2016-01-22 15:29:57 +00:00
Kegan Dougal ec54c7cf6c Match entities based on uid/displayname and include partials/stripping
"foo" would now match:
 - @foobar:matrix.org    - User ID matching
 - Foobar                - Display name matching
 - f (@foo2:matrix.org)  - user ID localpart matching
 - Bar Foo               - Word matching
2016-01-22 15:21:41 +00:00
Kegan Dougal 366a24bbe4 Refresh the membership list on 3PID invites 2016-01-22 15:11:36 +00:00
Kegan Dougal 7ef1ba0b44 Unbreak RoomHeader 2016-01-22 11:48:26 +00:00
Kegan Dougal f213901e29 Return early when calculating one-to-one room avatars
Object.keys() is O(n) and is wasted because we only care if the keys are 1 or 2.
Use `for .. in` instead and return early if there are >2 keys.

Profiling indicates this cuts wasted time from ~74ms to ~32ms for me (who has
a large number of rooms with large numbers of people in them).
2016-01-22 11:11:56 +00:00
manuroe a627ee7ef6 Fixed ternary operation 2016-01-22 08:54:40 +01:00
Matthew Hodgson 8ccc3f04c3 correct layout for truncated lists 2016-01-21 17:39:12 +00:00
Kegsay b45e5e6eb5 Merge pull request #108 from matrix-org/kegan/member-list-perf
Add "and X more" overflow tile to joined member list
2016-01-21 16:15:12 +00:00
Kegan Dougal dfab32394d Set truncation to 10 for now. 2016-01-21 16:03:32 +00:00
Kegan Dougal d72ab641d0 Expand the list when the overflow element is clicked
Negative truncateAt values means "do not truncate".
2016-01-21 15:57:59 +00:00
Matthew Hodgson c5099a837b doh - anyone can set their own tags... 2016-01-21 15:08:14 +00:00
David Baker 876646ac54 Hopefully make unread loop a bit more digrestable. 2016-01-21 13:22:13 +00:00
Kegan Dougal eed83f982e Add a suitable overflow tile for the member list 2016-01-21 11:41:28 +00:00
Kegan Dougal 9f362e488c Add a TruncatedList component, which truncates children passed to it. 2016-01-21 11:30:37 +00:00
David Baker 13e70e6956 Merge remote-tracking branch 'origin/develop' into unread_sync 2016-01-21 10:36:29 +00:00
David Baker 99a491bb0e Merge pull request #68 from matrix-org/notif_sync
Set room highlight from unread_notification_count
2016-01-21 10:31:42 +00:00
David Baker acce08194d Apply patch to the right branch: update for new count format 2016-01-21 10:23:18 +00:00
David Baker 1c54c64850 Merge pull request #99 from matrix-org/user_settings_on_register
Show user settings screen on registration
2016-01-21 10:11:28 +00:00
David Baker a0cc3720a9 Merge pull request #106 from matrix-org/dbkr/dont_spam_read_receipts
Don't spam the same RR at the server until it acks it.
2016-01-21 10:01:30 +00:00
Matthew Hodgson 9bbb9f7b29 pretty invites! 2016-01-21 00:45:22 +00:00
Matthew Hodgson eab0ca8716 fix bottom margin on FF 2016-01-21 00:39:10 +00:00
Matthew Hodgson 4d549304b6 Fix autoshow 2016-01-21 00:26:44 +00:00
Matthew Hodgson 9ce4148925 go splitscreen at the first sign of an invite search 2016-01-21 00:25:47 +00:00
Matthew Hodgson deca90d0a7 fix up Start Chat behaviour as per Amandine's feedback 2016-01-21 00:16:10 +00:00
Matthew Hodgson 35c141cda9 reduce size of auxpanel when editing roomsettings 2016-01-20 23:09:36 +00:00
Matthew Hodgson 6f6db75ea1 improve banned users layout 2016-01-20 22:47:42 +00:00
Matthew Hodgson c0aa15aa09 now with gemini 2016-01-20 22:11:58 +00:00
Matthew Hodgson 3aaf934c97 implement the correct design for memberlist, modulo gemini 2016-01-20 22:04:49 +00:00
Matthew Hodgson 161cdef36e tint bottom borders 2016-01-20 17:24:09 +00:00
David Baker 548dac2ad9 Use new unread count methods 2016-01-20 17:19:52 +00:00
Matthew Hodgson 964e7c3739 fix user_levels some more 2016-01-20 17:15:01 +00:00
Matthew Hodgson 705730d450 fix user_levels 2016-01-20 17:12:55 +00:00
Matthew Hodgson 442e090f37 button layout 2016-01-20 17:09:46 +00:00
Matthew Hodgson 76b7788ba6 usersettings rhs button 2016-01-20 17:07:00 +00:00
Matthew Hodgson c64f08dcc3 fix missing aliases 2016-01-20 16:53:46 +00:00
Matthew Hodgson 76279e2940 fix roomsettings a bit 2016-01-20 16:39:26 +00:00
David Baker 0052fbd6cb Don't spam the same RR at the server until it acks it. 2016-01-20 16:39:25 +00:00
Matthew Hodgson 14c2d945d6 oops, use right class 2016-01-20 15:58:17 +00:00
David Baker 83634bf930 Update for new unread count format 2016-01-20 15:56:11 +00:00
Matthew Hodgson dbcbd2aad8 fix badge layout 2016-01-20 15:52:34 +00:00
Matthew Hodgson 5c105a50e2 Merge branch 'matthew/roompreview' of https://github.com/matrix-org/matrix-react-sdk into matthew/roompreview 2016-01-20 15:49:02 +00:00
Matthew Hodgson 4d2608017b fix CSS for ChangeAvatar placeholder 2016-01-20 15:39:56 +00:00
Kegan Dougal b296d05b35 Fix finally NPE 2016-01-20 15:38:34 +00:00
Kegan Dougal 8dc21ec837 Fix race condition when joining rooms
Problem: Hitting join on a room invite would show spinner, then join room screen
then the messages.

Cause: The UI to show a spinner is set via the "joining" flag. This flag was
only set for the duration of the /join HTTP request. This is insufficient
because it races with actual room info arriving from /sync. If this info does
not arrive before the /join HTTP request returns, "joining" is false but the
current membership state of the user is still invite.

Fix: The "joining" flag is still set when the /join HTTP request is made, but
it is only turned off when the join event arrives from /sync.

Extras: This fix should also work when joining a room not from an invite.
2016-01-20 15:25:40 +00:00
Kegan Dougal edb67b778d Merge branch 'develop' into matthew/roompreview 2016-01-20 14:42:04 +00:00
Kegan Dougal fee7ee5dcc Load the user list eventually if we have no Room object 2016-01-20 14:41:48 +00:00
Kegan Dougal a0aaae49dd Merge branch 'develop' into matthew/roompreview 2016-01-20 14:27:25 +00:00
Kegsay c3c7c90de0 Merge pull request #103 from matrix-org/kegan/invite-search
Add global search with ability to invite from said list
2016-01-20 14:26:17 +00:00
Matthew Hodgson 60a084bdbd Merge branch 'develop' into matthew/roompreview 2016-01-20 14:22:09 +00:00
Kegan Dougal 391c653d24 Lazy-load the user list to improve perf
Still slow when typing due to adding 1000 tiles to the DOM, but it is at least
a lot better than before (which would stutter on ANY change to the member list)
2016-01-20 14:14:04 +00:00
Kegan Dougal 91c224aaf4 Review comments: Remove stuff which shouldn't have been there 2016-01-20 13:41:03 +00:00
David Baker 6d19ce09ab Merge pull request #105 from matrix-org/dbkr/add_email_address
Implement adding email addresses to your profile.
2016-01-19 17:20:35 +00:00
David Baker c4d4e9c46e Terminate promise chain 2016-01-19 17:20:23 +00:00
Kegan Dougal bdfd09d893 Merge branch 'kegan/invite-search' into matthew/roompreview 2016-01-19 17:10:54 +00:00
Kegan Dougal e4e3393232 Temporarily comment out address book until perf can be looked at given other PRs now depend on this PR 2016-01-19 17:09:36 +00:00
David Baker 4ed130ceac Implement adding email addresses to your profile. 2016-01-19 16:36:54 +00:00
Kegan Dougal 84608ba156 Fix syntax error 2016-01-19 16:18:08 +00:00
Kegan Dougal 3e4c5d7fa3 Merge branch 'kegan/invite-search' into matthew/roompreview 2016-01-19 16:08:14 +00:00
Matthew Hodgson db7d863ce4 set autoPeekDone on finally 2016-01-19 15:18:16 +00:00
Kegsay 33bd6e2028 Merge pull request #104 from matrix-org/dbkr/dedup_client_secret
Remove generateClientSecret and use the one the js sdk gives us.
2016-01-19 14:57:29 +00:00
Kegan Dougal d2708cf4d4 Filter the membership list in addition to the search area for the input text 2016-01-19 14:51:26 +00:00
Matthew Hodgson 2274cb3f7f fix invite prompt 2016-01-18 20:18:46 +00:00
Matthew Hodgson c29ec28dfd fix layout for blunt join msgs 2016-01-18 20:15:12 +00:00
Matthew Hodgson f22519f10c factor out the peek rule calculation so that we can do it both onNewRoom and if there's a room already. I guess we could do it in react's onStateUpdate too 2016-01-18 20:05:33 +00:00
Matthew Hodgson eb7144ef85 improve layout 2016-01-18 19:56:56 +00:00
Matthew Hodgson 0a79b0f9e2 fix NPE from kegan's memberlist branch 2016-01-18 19:56:47 +00:00
Matthew Hodgson 7b91d3c5f8 wording changes from Amandine to settings 2016-01-18 19:56:38 +00:00
Matthew Hodgson 765174a600 merge conflict 2016-01-18 19:56:35 +00:00
David Baker e68972fb1a Remove generateClientSecret and use the one the js sdk gives us. 2016-01-18 17:50:27 +00:00
Matthew Hodgson 491ba94230 WIP: try to support non-guest room peek. Rename visibility permissions in room settings a bit, and fix how they are persisted. 2016-01-18 17:39:23 +00:00
Kegan Dougal a8643ff039 Move power level stuff to EntityTile for now 2016-01-18 17:37:17 +00:00
Kegan Dougal 0465323ca6 Merge branch 'develop' into kegan/invite-search 2016-01-18 17:31:26 +00:00
Kegan Dougal f1042bd1c4 UI tweaks 2016-01-18 17:21:28 +00:00
Kegan Dougal 36616a97a1 Add ability to click-to-invite 2016-01-18 17:12:35 +00:00
manuroe 33edeccb43 Merge branch 'develop' into push-rules-settings
# Conflicts:
#	src/component-index.js
#	src/components/views/rooms/RoomSettings.js
2016-01-18 18:00:41 +01:00
Kegan Dougal 165adde0c8 Use EntityTile for 3PID entities rather than munging MemberTile 2016-01-18 16:55:51 +00:00
Kegan Dougal c758c0f84f Add invite button JSX 2016-01-18 16:47:31 +00:00
Kegan Dougal 71009d81b6 Factor out common code between MemberTile and UserTile into EntityTile. Use EntityTile. 2016-01-18 15:19:49 +00:00
David Baker cc3d27bd4b Merge pull request #98 from matrix-org/message_composer_arrows_keys
Fix history scrolling with multiline input
2016-01-18 14:25:57 +00:00
David Baker 880ae0f3fa Fix typo 2016-01-18 14:25:23 +00:00
David Baker 0ac997491e Clarify comment 2016-01-18 14:23:31 +00:00
Matthew Hodgson 51648b9bf0 merge develop 2016-01-18 14:02:19 +00:00
Matthew Hodgson 17fdfa0c8f incorporate kegan PR feedback 2016-01-18 14:00:47 +00:00
Matthew Hodgson aa412bed0f reindent promises as per dave's PR feedback 2016-01-18 13:38:40 +00:00
Matthew Hodgson d0eedb4faa merge develop 2016-01-18 13:34:09 +00:00
Kegan Dougal fd99b260f4 Merge branch 'develop' into kegan/invite-search 2016-01-18 12:07:36 +00:00
Kegan Dougal 2a64d0feb3 Merge branch 'develop' into matthew/roomsettings2 2016-01-18 10:49:45 +00:00
Kegsay 6e42d00727 Merge pull request #95 from matrix-org/kegan/base-avatar
Factor out common Avatar code
2016-01-18 10:18:04 +00:00
Matthew Hodgson 8f83621c4c hide Mod button for muted users 2016-01-18 01:40:19 +00:00
Matthew Hodgson 6e3245a3b0 make linkify userid jump to memberinfo 2016-01-18 01:26:15 +00:00
Matthew Hodgson 8e1ab8e6b4 vaguely skin MemberInfo correctly 2016-01-18 01:18:02 +00:00
Matthew Hodgson 430c90f4a4 oops ,forgot PowerSelector 2016-01-18 00:42:20 +00:00
Matthew Hodgson a768b7fe4b bring back power badges 2016-01-18 00:16:31 +00:00
Matthew Hodgson 0553551d92 oops ,forgot PowerSelector 2016-01-17 23:58:38 +00:00
Matthew Hodgson f3aeda7af9 merge develop 2016-01-17 23:31:21 +00:00
Matthew Hodgson 1467aacfa4 support saving tag changes (untested) 2016-01-17 12:27:21 +00:00
Matthew Hodgson 06e1674f23 UI for tag management 2016-01-17 05:13:16 +00:00
Matthew Hodgson 5b5bd9aef1 remove create_room for now. lots of stupid bugfixes across the board. 2016-01-17 03:59:31 +00:00
Matthew Hodgson 82a159d651 make roomsettings actually work, including alias editing. (using staged UX rather than direct manipulation). loads of tweaks and fixes across the board 2016-01-17 02:48:55 +00:00
David Baker 7045906d5d Show user settings screen on registration instead of the PostRegister stuff. 2016-01-15 18:58:18 +00:00
David Baker a90f63f72c null check 2016-01-15 18:49:12 +00:00
David Baker 52de322789 Change history scolling so it doesn't interfere with moving between lines, even when those lines are wrapped rather than hard line breaks. 2016-01-15 18:31:07 +00:00
Kegan Dougal d6c7631dcc Show User avatar URLs 2016-01-15 17:31:32 +00:00
Kegan Dougal 4d47d9875b Merge branch 'kegan/base-avatar' into kegan/invite-search 2016-01-15 17:19:34 +00:00
Kegan Dougal 855bef17fa Fold BaseAvatar state mainly into state.urls to avoid too many code paths. 2016-01-15 17:05:05 +00:00
David Baker a849955c51 Merge pull request #93 from matrix-org/registration_field_validate
Do (more) client side validation of registration parameters.
2016-01-15 16:38:46 +00:00
Matthew Hodgson 90184235bb improve RoomSettings layout 2016-01-15 16:33:50 +00:00
Matthew Hodgson f476150591 fix changeavatar to avoid duplicate click on label 2016-01-15 16:33:34 +00:00
David Baker ecfdd3593c Validate everything on form submit. Don't use pwd1 where we didn't define it & fix some error codes. 2016-01-15 16:17:27 +00:00
Kegan Dougal d8d79722ac Make RoomAvatar use BaseAvatar 2016-01-15 16:13:25 +00:00
David Baker 6bd09512de Merge pull request #94 from matrix-org/share_history_invite_warning
Add warning on inviting a user if sharing history with new users.
2016-01-15 15:57:42 +00:00
Matthew Hodgson 293f5c7120 shrink auxpanel a bit for roomsettings 2016-01-15 15:53:53 +00:00
Matthew Hodgson 0caf5e0cdc manage permissions on whether people can actually edit name, topic, avatar etc or not 2016-01-15 15:51:40 +00:00
Matthew Hodgson 57e62bf0ba remove change avatar from here as it's now in the header 2016-01-15 15:50:38 +00:00
Matthew Hodgson aefecfc645 tweak roomheader layout when editing 2016-01-15 15:23:41 +00:00
Matthew Hodgson b8afccd445 fix droptarget behaviour 2016-01-15 15:23:02 +00:00
David Baker 2638ee974e Add warning on inviting a user if sharing history with new users.
Fixes https://github.com/vector-im/vector-web/issues/60
2016-01-15 15:18:55 +00:00
David Baker 80c2361805 Merge pull request #92 from matrix-org/invalid_user_name
Catch new invalid user name error
2016-01-15 14:33:45 +00:00
Matthew Hodgson 4a2c2d9656 fix broken merge and revert some of 243b2e45 and document evil magic numbers 2016-01-15 14:22:17 +00:00
David Baker b60d14a408 Merge pull request #91 from matrix-org/show_upload_in_current_room_only
Only show uploads that are going to the current room
2016-01-15 13:45:23 +00:00
David Baker 02e41450b4 Do (more) client side validation of registration parameters. 2016-01-15 13:31:41 +00:00
Matthew Hodgson 7cc5925ec4 increase initialSyncLimit enormously to avoid slow gappy /syncs for now 2016-01-15 13:28:41 +00:00
Matthew Hodgson f2dc1e835b placeholder for displayname 2016-01-15 13:11:37 +00:00
Matthew Hodgson e1e46be220 apply gemini scrollbar 2016-01-15 13:11:14 +00:00
Matthew Hodgson 828b1f4837 fix up look and feel of UserSettings a bit more 2016-01-15 12:35:30 +00:00
Matthew Hodgson 84b46dae4e make ChangeAvatar customisable size... 2016-01-15 12:35:18 +00:00
Matthew Hodgson 8e9e33fa2a fix NPE and make enter work again 2016-01-15 12:34:53 +00:00
Kegan Dougal cfb81a4aec Factor out avatar stuff to BaseAvatar. Make MemberAvatar use it instead. 2016-01-15 12:02:28 +00:00
Kegan Dougal aea833ec87 Display User objects in search results 2016-01-15 10:31:31 +00:00
David Baker 51ce76aeab M_INVALID_USERNAME to be consistent with param name 2016-01-15 10:08:16 +00:00
Kegan Dougal 266aee2c6b Factor out data model -> Entity logic to Entities.js 2016-01-15 09:58:48 +00:00
manuroe f868f7813b Room settings: Added notifications mute checkbox 2016-01-14 19:06:48 +01:00
Kegan Dougal 83a458938e Unbreak things 2016-01-14 17:41:04 +00:00
Kegan Dougal 69d8e50eeb Merge branch 'develop' into kegan/invite-search 2016-01-14 17:34:52 +00:00
Kegsay b491447702 Merge pull request #89 from matrix-org/kegan/slash-command-tab-complete
Implement tab-complete for slash commands
2016-01-14 17:34:20 +00:00
Kegan Dougal 66bc30c0bc Add /me to the list 2016-01-14 17:33:52 +00:00
David Baker dcfcc51f4c Catch new invalid user name error added in https://github.com/matrix-org/synapse/pull/499 and https://github.com/matrix-org/matrix-doc/pull/263 2016-01-14 17:28:53 +00:00
Kegan Dougal d5deb283bf Add a SearchableEntityList and use it for invite box
It all even works, though only for RoomMembers currently.
2016-01-14 17:27:06 +00:00
Matthew Hodgson e4671205d8 right imagery 2016-01-14 17:24:57 +00:00
Matthew Hodgson 2899082cba deselect editabletext when tabbing away 2016-01-14 17:24:52 +00:00
Matthew Hodgson d767e72469 hide hoverover for 3pids 2016-01-14 17:02:56 +00:00
Matthew Hodgson 06ecf78e5f Merge branch 'develop' into matthew/roomsettings2 2016-01-14 16:50:12 +00:00
David Baker d33d606912 Only show uploads that are going to the current room
Fixes #506
2016-01-14 16:31:42 +00:00
Matthew Hodgson 4430e16707 apply CSS to slashcommand autocompletes 2016-01-14 16:29:49 +00:00
Matthew Hodgson 42dc1be341 fix descriptions a bit and sort the slash commands when tab-completing 2016-01-14 16:29:49 +00:00
Kegan Dougal 84a7fc1640 Tweak how command aliases are set
This prevents multiple commands of the same name being returned in getCommandList()
2016-01-14 16:29:01 +00:00
David Baker 81329a42fd Merge pull request #90 from matrix-org/user_activity_end
Send an event at the end of user activity too and use this to send RRs.
2016-01-14 16:27:54 +00:00
David Baker 740c22238e Better date syntax 2016-01-14 16:15:07 +00:00
David Baker 4f21e2beb3 Suffix with units 2016-01-14 16:13:50 +00:00
Matthew Hodgson ffaea371ac Merge branch 'kegan/slash-command-tab-complete' into matthew/roomsettings2 2016-01-14 16:02:29 +00:00
David Baker 7e5d4b8ce8 Send an event at the end of user activity too and use this to send RRs. 2016-01-14 16:01:31 +00:00
Kegan Dougal b67131f0c8 Add a Command class; add Entry.getFillText()
getFillText() serves to decouple the text displayed in the auto-complete list
via getText() and the text actually filled into the box via getFillText(). This
allows us to display command + args on the list but only fill the command part.

A Command class has been added to provide some structure when extracting the
command name and args. Manually tested and it works.
2016-01-14 14:39:58 +00:00
Kegan Dougal 864d10f412 Make individual Entrys responsible for determining suffixes
This makes it cleaner as CommandEntry always wants a space, but MemberEntry
wants a space or ": " depending on if it is the first word or not.
2016-01-14 11:39:24 +00:00
Kegan Dougal f4be4880b8 Merge branch 'develop' into kegan/slash-command-tab-complete 2016-01-14 11:12:06 +00:00
Kegsay 1e4739e2ff Merge pull request #88 from matrix-org/kegan/3pid-invite-memberlist
Show 3PID invites in the invite part of the membership list
2016-01-14 10:44:23 +00:00
Matthew Hodgson 123b134d87 use getDomain() 2016-01-13 18:15:59 +00:00
Matthew Hodgson dc62f639f2 Merge branch 'kegan/slash-command-tab-complete' into matthew/roomsettings2 2016-01-13 18:11:11 +00:00
Matthew Hodgson 7a1e6bbe7e fix merge conflicts 2016-01-13 18:00:04 +00:00
Matthew Hodgson 05c7891874 fix NPE 2016-01-13 17:54:33 +00:00
Kegan Dougal 53f31e49da Implement tab-complete for slash commands
This needed a new interface function `getOverrideSuffix()` so we didn't suffix
commands at the start with ": ". All seems to work.
2016-01-13 17:46:36 +00:00
Kegan Dougal 8c9352c484 Make MemberAvatar and MemberTile work without RoomMember objects 2016-01-13 16:55:28 +00:00
Kegan Dougal c0e5d1d13b Factor out presence text. Do prep work for displaying 3pid invites on memberlist.
Factored out presence to PresenceLabel.
2016-01-13 15:55:28 +00:00
manuroe 7985413893 Created TextInputDialog
In css, created a generic mx_Dialog_title class for all dialogs
2016-01-13 16:32:41 +01:00
David Baker 11025e2ba9 Make read marker ghost same width as normal one. 2016-01-13 15:18:21 +00:00
Matthew Hodgson 1b7d80a8cd s/getImplicitRoomName/getDefaultRoomName/ # as kegan doesn't like the word 'implicit' 2016-01-13 14:04:00 +00:00
Matthew Hodgson 5f763f8ebb merge develop 2016-01-13 14:03:54 +00:00
Kegan Dougal 69cac307d9 Merge branch 'develop' into kegan/guest-peek-then-join 2016-01-13 13:22:58 +00:00
Matthew Hodgson c9c496f0e5 WIP all new roomsettings 2016-01-13 13:15:13 +00:00
Matthew Hodgson f715662d18 merge in develop, fixing conflicts 2016-01-13 13:06:27 +00:00
Matthew Hodgson 3934b42ac8 s/m.room.color_scheme/org.matrix.room.color_scheme/g # to make kegan happier 2016-01-13 13:01:00 +00:00
David Baker 67ff769962 Include invites in the badge count 2016-01-13 13:00:03 +00:00
Kegsay d10c96ede8 Merge pull request #87 from matrix-org/kegan/password-reset
Implement password reset
2016-01-13 10:35:54 +00:00
David Baker 2eb724f1f0 Merge pull request #85 from matrix-org/read_marker_animate
Improve read markers so they show at appropriate times and animate away.
2016-01-12 17:57:14 +00:00
David Baker 848cb30ea4 Remove ill-concieved delay before sending read receipts & instead just wait a bit before removing the ghost read marker. 2016-01-12 17:48:34 +00:00
Kegan Dougal ec4e0d7687 Implement password reset
This adds a link to the login screen with "Forgot your password?". Clicking it
takes you to a form with fields for an email address and a new password. This
makes the same API calls as the Angular SDK.

Manually tested resetting + not clicking link + invalid email and it all seems
to work.
2016-01-12 17:20:16 +00:00
David Baker 4a8b5dfe3a Don't display read markers (or ghosts) above our own messages. 2016-01-12 17:18:16 +00:00
David Baker 8b730c0a5d PR feedback 2016-01-12 16:38:09 +00:00
David Baker 37f1b4ba8a Tweaked style means we can have 100% width (well 99% otherwise we gain a horizontal scrollbar) 2016-01-12 14:13:42 +00:00
Kegan Dougal eb955eb371 Add a RoomPreviewBar which asks if you'd like to join a peeked room 2016-01-12 14:11:15 +00:00
Richard van der Hoff cd52549713 s/function/func/ in PropTypes declarations 2016-01-12 13:11:53 +00:00
Matthew Hodgson bd226609d0 fix onclick for all of room name 2016-01-11 18:44:36 +00:00
manuroe 953e138317 Settings page: Made the push notifications settings a separate component. This component is currently implemented at the app level 2016-01-11 17:05:27 +01:00
Richard van der Hoff 243b2e4587 Make the scrollpanel update itself correctly on video resize.
When we first get video, the video component will resize itself. This will
cause the page to be reflowed, but that doesn't trigger an update on the gemini
scrollbar. We therefore need to force an update on the messagepanel. Implement
this by providing an onResize property on the CallView component.

We need to do the same when we change the maxHeight on the video panel.

The same applies to resizing of the MessageComposer. That was previously
handled with a fugly roomView.forceUpdate() from MessageComposer - make it use
the same mechanism.

Finally: the messageComposer is at least 70 pixels, and up to 100 pixels high -
not 36. Fix the auxPanelMaxHeight calculation - and use a static constant
rather than hardcoding the number to avoid this happening again.
2016-01-11 15:28:59 +00:00
Richard van der Hoff e7740cbc8b Merge pull request #84 from matrix-org/rav/fix_refs_npes
Fix some races due to promises completing after we've switched rooms
2016-01-11 15:25:17 +00:00
Kegsay 3cd805e71d Merge pull request #82 from matrix-org/kegan/guest-access
Implement guest access and upgrading
2016-01-11 15:19:39 +00:00
Kegan Dougal fcdfce3760 Toggle auto-reg off when successfully registered as a guest.
Otherwise if you refresh -> auto-reg -> logout, you will get an infinite
spinner as it will think it is auto-registering again.
2016-01-11 15:12:55 +00:00
Matthew Hodgson ddd8838b24 linkify topics 2016-01-11 12:46:12 +00:00
Richard van der Hoff c30aeac315 Set our own booleans instead of using isMounted 2016-01-11 11:38:04 +00:00
Matthew Hodgson 6351258b0e use room.getImplicitRoomName() from matthew/roomsettings2 branch of matrix-js-sdk for the placeholder roomname 2016-01-10 20:01:30 +00:00
Matthew Hodgson 0cb6094992 show implicit names as placeholders if available 2016-01-10 18:46:08 +00:00
Matthew Hodgson d39a9a0f18 bring back select-all-on-click 2016-01-10 13:14:12 +00:00
Matthew Hodgson aa80a5d494 fix layout bug for general auxPanel 2016-01-10 13:03:37 +00:00
Matthew Hodgson 684255044a switch EditableText to be built on contentEditable rather than switching divs and inputs, so that it can be used for managing multiline content like topics and room names, and use it in RoomHeader/RoomSettings 2016-01-10 12:56:45 +00:00
Matthew Hodgson 4f14ead741 idiot - fix bind warnings 2016-01-10 04:22:09 +00:00
Matthew Hodgson 2d5cba89e8 tint Dave's read-up-to marker 2016-01-09 21:27:00 +00:00
Matthew Hodgson 27d72fb1dc tint Dave's read-up-to marker 2016-01-09 01:05:43 +00:00
David Baker 1507b39940 Redundant line. 2016-01-09 00:07:51 +00:00
David Baker 581111e1a7 Use wheel, not scroll as we get scroll events from auto scroll down. Also only do the cursor move check for mouse move events. 2016-01-09 00:06:54 +00:00
David Baker 7b2d56f619 Calculate what event we send a read receipt for after the delay so we send a receipt for the one the user actually settles on. 2016-01-08 22:19:51 +00:00
David Baker 1c4d1d2507 Make scrolling count as user activity. 2016-01-08 22:19:31 +00:00
David Baker 7913b0b465 Length of the returned array, not the index of the timeline event. 2016-01-08 21:51:14 +00:00
David Baker d63f83187f Only show read marker if it's somewhere other than at the bottom, make it animate away and put a short delay before the read marker advances so quickly changing to a room and then away again doesn't advance your read marker. 2016-01-08 21:18:47 +00:00
David Baker b37ea52a1f Some null checks in animation code 2016-01-08 16:47:13 +00:00
Richard van der Hoff 223f6f7914 Fix sorting of search result highlights
Make sure that we *actually* give preference to longer search result
highlights; it turns out that the code that looked like it was doing so has
never worked.
2016-01-08 13:25:03 +00:00
Richard van der Hoff 62cf34b58c Fix some races due to promises completing after we've switched rooms
Add a few isMounted() checks to promise handlers so that we don't end up
throwing NPEs.
2016-01-08 12:03:45 +00:00