Commit graph

539 commits

Author SHA1 Message Date
Luke Barnard
f199f3599e Replace NeedToRegisterDialog /w SetMxIdDialog
This uses MatrixChat's `view_set_mxid`
2017-05-15 17:31:26 +01:00
Michael Telatynski
5e4467adce hide settings/search appropriately
pass inRoom prop to RoomHeader (defaults to false)
remove default onSettingsClick, handle if it is passed EVERYWHERE

if onSettingsClick is passes, show that button
show search button only if we are in the room, seems to fail otherwise
this seems to handle all cases I could throw at it. Give it your best

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-11 17:35:06 +01:00
Luke Barnard
5151264f60 Merge branch 'develop' into new-guest-access
Conflicts:
	src/component-index.js
2017-05-11 13:22:30 +01:00
Luke Barnard
ad2ed12980 Redesign mxID chooser, add availability checking
Requires https://github.com/matrix-org/matrix-js-sdk/pull/432 for availability checking.

Changes:
 - Redesign the dialog to look more like https://github.com/vector-im/riot-web/issues/3604#issuecomment-299226875
 - Attempt to fix wrong password being stored by generating one per SetMxIdDialog (there's no issue tracking this for now, I shall open one if it persists)
 - Backwards compatible with servers that don't support register/availability - a spinner will appear the first time a username is checked because server support can only be determined after a request.
 - Rate-limited by a 2s debounce
 - General style improvements
2017-05-10 14:22:17 +01:00
Luke Barnard
fe121126f5 Merge branch 'develop' into rte-fixes
Conflicts:
	src/UserSettingsStore.js
	src/autocomplete/EmojiProvider.js
	src/components/views/rooms/MessageComposerInput.js
2017-05-08 17:08:59 +01:00
Michael Telatynski
9d92f93fcb consolidate call onPageUnload handler into RoomView
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-03 16:39:19 +01:00
Michael Telatynski
daae3bd1ec warn on unload when uploading file(s)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-29 06:27:06 +01:00
Luke Barnard
5a5768a4ec Try to fix tests 2017-04-28 13:38:35 +01:00
Luke Barnard
d12b1903f2 Fix defer promise logic 2017-04-28 13:29:30 +01:00
Luke Barnard
6dff4a4415 Return early after cancelled mxid dialog 2017-04-28 13:28:34 +01:00
Luke Barnard
8774100508 Initial implementation: SetDisplayName -> SetMxIdDialog
- Replaces SetDisplayNameDialog with SetMxIdDialog. This new dialog will use InteractiveAuth to authenticate a user with their chosen mxid.

De-scoped:
 - style tweaks for the InteractiveAuth in the dialog (capcha) and error message.
 - checking for mxid availability
2017-04-28 13:22:55 +01:00
Luke Barnard
8f7359fce1 Only show jumpToReadMarker bar when RM !== RR
If RM !== RR, use the pos. of the RM to determine whether it is visible, as before.
2017-04-27 14:03:54 +01:00
Luke Barnard
96e7479d8b Show "jump to message" when message is not paginated 2017-04-25 17:19:36 +01:00
Michael Telatynski
bfba25f3da we don't care about rhs state anymore as we can just restore it sanely
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:10:14 +01:00
Michael Telatynski
ee560a969a upon forwarding message to current room, explicitly remove clear from aux
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 20:17:29 +01:00
Michael Telatynski
fbca0e0d0d correct cancel appearing when it shouldn't
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 20:03:07 +01:00
Michael Telatynski
4285c395f5 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into forward_message
Conflicts:
	src/components/structures/RoomView.js
2017-04-24 18:36:33 +01:00
Matthew Hodgson
a2be764681 display err.message to user if available in error msgs 2017-04-23 01:48:27 +01:00
Michael Telatynski
33e841a786 move user settings outward and use built in read receipts disabling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-22 15:40:29 +01:00
Michael Telatynski
fdc26a490a On return to RoomView from auxPanel, send focus back to Composer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 18:45:28 +01:00
Michael Telatynski
b6ca16fc2f add RoomView state for message being forwarded
add RoomView action handler for message forward
clear forwardingMessage onCancelClick RoomView
change var into const in render RoomView
load ForwardMessage from rooms.ForwardMessage
if there is a messageForwarding object in state show panel in aux

Create ForwardMessage class

Modify RoomHeader so that it shows the cancel button more greedily

reskindex

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 13:50:22 +01:00
Michael Telatynski
be9b858193 focus on composer after jumping to bottom
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 01:06:00 +01:00
Kegan Dougal
4cebded04f Add canResetTimeline callback and thread it through to TimelinePanel 2017-03-22 15:06:52 +00:00
Luke Barnard
17c9fcbb85 Merge branch 'develop' into luke/UDE-file-upload 2017-03-14 13:59:04 +00:00
Matthew Hodgson
3aaf37df1a beautify a tonne more errors 2017-03-12 22:59:41 +00:00
Matthew Hodgson
71e0780eee beautify search fail error 2017-03-12 22:24:16 +00:00
Luke Barnard
4f7914813d Make UDD appear when UDE on uploading a file
This has highlighted the fact that an unsent image looks very much like a sent image (https://github.com/vector-im/riot-web/issues/3391). Also, the "Resend" status bar doesn't appear when an image is unsent.
2017-03-09 10:44:09 +00:00
Aviral Dasgupta
0653343319
order User completions by last spoken 2017-03-07 04:09:26 +05:30
David Baker
0035a91596 Merge pull request #731 from matrix-org/luke/warn-users-e2e-first-time
Warn users about using e2e for the first time
2017-03-02 13:28:15 +00:00
Luke Barnard
b7bd93c613 var -> const 2017-03-01 15:55:15 +00:00
Luke Barnard
187c91b76a Adjust warning message 2017-03-01 15:42:05 +00:00
Luke Barnard
6d296a0e7a Warn users about using e2e for the first time 2017-03-01 15:41:13 +00:00
Luke Barnard
7221900497 Refactor remove resend_all_events and cancel_all_events dispatches 2017-02-27 13:39:12 +00:00
Luke Barnard
c13ff254b1 Add "Retry" button to UDE 2017-02-22 10:21:43 +00:00
Matthew Hodgson
8990e770b7 fix colouring in voip dark theme 2017-02-20 01:43:55 +02:00
David Baker
de4773ba93 Show when you've been kicked or banned
Update the room state when you've been kicked or banned, and show
a message in the preview bar, including the reason.
2017-02-17 15:50:30 +00:00
David Baker
b2344ceb74 Update the room view on room name change 2017-02-17 11:44:56 +00:00
Luke Barnard
103710728f Do not show "+1 other"
Instead show a user name or avatar.
2017-02-09 10:30:06 +00:00
Matthew Hodgson
e825a4af3c show better error msg after UnkDevDialog
should fix https://github.com/vector-im/riot-web/issues/3122
2017-02-03 00:45:33 +00:00
Luke Barnard
f462bd8f99 Expand status *area* unless status *bar* not visible (#655) 2017-01-26 18:07:42 +00:00
Luke Barnard
9c99dafba5 Guard onStatusBarVisible/Hidden with this.unmounted 2017-01-26 17:03:01 +00:00
David Baker
e567162d28 Merge pull request #648 from matrix-org/rav/fix_set_displayname
Fix SetDisplayNameDialog
2017-01-25 14:32:52 +00:00
Richard van der Hoff
29b4dde878 Fix SetDisplayNameDialog
SetDisplayNameDialog got broken by the changes to support asynchronous loading
of dialogs.

Rather than poking into its internals via a ref, make it return its result via
onFinished.

Fixes https://github.com/vector-im/riot-web/issues/3047
2017-01-25 08:01:45 +00:00
Luke Barnard
7c66d1c867 Sync typing indication with avatar typing indication
Follow the same rules for displaying "is typing" as with the typing avatars.
2017-01-24 16:01:39 +00:00
Luke Barnard
a06ecb87bc Hide RoomStatusBar when it displays nothing (#615)
Use CSS class `mx_RoomView_statusArea_expanded` to indicate an expanded status bar. Without this, the status bar may be hidden from view. A 10s debounce will prevent it from bouncing frequently.
2017-01-23 16:01:39 +01:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Richard van der Hoff
42de77e588 Remove "Cannot re-join empty room" error
This is a lying error message. burn it with fire
2016-12-27 19:17:48 +00:00
David Baker
a008f5010a Fix the ctrl+e mute camera shortcut
* Fixes the altgr+e shortcut on Windows
   (Fixes https://github.com/vector-im/vector-web/issues/2561)
 * Fixes the shortcuts to be cmd+e on mac rather than ctrl+e
   which is more normal and doesn't clobber ctrl+e which old
   school unix types use for go-to-end-of-line.
2016-11-08 18:04:22 +00:00
Richard van der Hoff
cb5b311e44 Move saveScrollState into RoomView
It fits much more naturally here than in LoggedInView.
2016-11-04 09:28:35 +00:00
David Baker
32ebd8083b Stray comma 2016-10-26 15:32:09 +01:00
David Baker
a2eb0a9cf0 Fix CPU spin on joining rooms
Ratelimit roomheader's updates and move some other things into
rate limited functions.
2016-10-26 13:09:53 +01:00
Richard van der Hoff
4f901f1894 Keyboard shortcuts to mute microphone/camera
Same as hangouts: ctrl-d for mute microphone; ctrl-e to mute camera.
2016-10-17 14:13:56 +01:00
David Baker
d1a5e54a69 Check if a room looks like a DM rooms on joining
and mark it as one if so.

Also change the heuristic to only count rooms with 2 total members rather than 2 joined members, otherwise this is going to mark any room as a DM if someone creates a room, invites a bunch of people and you happen to be first to join.
2016-09-20 17:59:46 +01:00
David Baker
b66c449bd7 Comment typo
and out comment in more sensible place
2016-09-20 16:08:11 +01:00
Matthew Hodgson
a28aab42c4 fix NPE in guest access 2016-09-16 16:45:43 +01:00
Matthew Hodgson
17cf2fc745 Merge pull request #470 from matrix-org/matthew/right-panel-collapse
Matthew/right panel collapse
2016-09-13 19:09:18 +01:00
Matthew Hodgson
eb6a4f97ba make it work 2016-09-13 19:00:35 +01:00
Matthew Hodgson
3b52081092 wip for collapsable RHS 2016-09-13 12:18:22 +01:00
David Baker
2943db1072 Flag incoming DMs as such
* Add the 'is_direct' flag to rooms created for DMs
 * For invites, look for the DM flag when getting the DM user ID for a room
 * When accepting an invite, look for the flag and mark the room as a DM room if appropriate.
2016-09-12 18:32:44 +01:00
Matthew Hodgson
f4d939da81 null checks on room in onRoomTimeline 2016-09-09 02:09:12 +01:00
Matthew Hodgson
4aef352a5c update to use new API based on js-sdk PR input 2016-09-08 22:48:44 +01:00
Matthew Hodgson
f88ba9df11 fix comment & use room.getUnfilteredTimelineSet() 2016-09-08 14:38:34 +01:00
Matthew Hodgson
e7074ef9af apply FilePanel css and fix filtering 2016-09-07 22:54:37 +01:00
Matthew Hodgson
e22d0a53b6 WIP switch-over of TimePanel from taking Rooms to taking EventTimelineSets 2016-09-07 22:54:37 +01:00
David Baker
df1cc8748f Change references to MatrixTools to Rooms
or remove where they were unused
2016-09-07 11:33:58 +01:00
Richard van der Hoff
8fe470bce1 Cancel calls to rate-limited funcs on unmount
The tests were throwing up warnings about state being accessed, and null
MatrixClients being called, after component unmount.
2016-08-10 13:39:47 +01:00
David Baker
09993cd3bc Add comment back 2016-07-26 18:19:25 +01:00
David Baker
31399254b6 Fix onRoomStateMember debouncing
Don't have debounced functions take arsg, because they won't be the same for each invocation.
2016-07-26 18:15:26 +01:00
David Baker
4ecf5f6372 Fix bug where vector freezes on power level event
Make rate_limited_function accept functions with args so we can just ratelimit the event handler & be done with it.

Fixes https://github.com/vector-im/vector-web/issues/1877
2016-07-26 17:58:19 +01:00
David Baker
030652f289 Add removeLisatener for account data listener 2016-07-21 13:49:31 +01:00
Matthew Hodgson
165b0810cc remove debug 2016-07-20 18:17:09 +01:00
Matthew Hodgson
bc87fc575b remove debug 2016-07-20 18:16:54 +01:00
Matthew Hodgson
d6415aceca handle accountData changes, and errors on toggling URL previews 2016-07-20 18:14:16 +01:00
David Baker
fb964be072 Merge pull request #356 from matrix-org/matthew/disable-url-previews
Support for disabling/enabling URL previews per-user, per-room and per-user-per-room
2016-07-20 16:43:08 +01:00
Matthew Hodgson
1365f18829 many stupid thinkos and bugfixes; make it work 2016-07-20 12:03:13 +01:00
Matthew Hodgson
6bf5499289 typos 2016-07-18 10:47:03 +01:00
Matthew Hodgson
f13bb5f656 typos 2016-07-18 01:39:24 +01:00
Matthew Hodgson
ebdac4ee50 first cut (untested) 2016-07-18 01:35:42 +01:00
David Baker
5c566cae5c typo 2016-07-15 18:10:56 +01:00
David Baker
327015ba0f Tidy up autocomplete updating
..into a function
2016-07-15 17:03:53 +01:00
David Baker
7d712d06a1 Move code to make diff less confusing 2016-07-15 16:14:05 +01:00
David Baker
d5bed78a54 Rejig tab complete to make it faster
Now do a lot less when people speak. Also move more of the tab completion logic into TabComplete.js and out of RoomView.
2016-07-15 16:10:27 +01:00
David Baker
f1d72296b7 Fix last-spoke order
Turns out this timeline is the other way around, so loop through the other way
2016-07-14 14:06:31 +01:00
David Baker
0dde891d4c Order tab complete by most recently spoke
Fixes https://github.com/vector-im/vector-web/issues/1741
2016-07-14 11:25:45 +01:00
David Baker
ac58520b3b Update tab completion list when we have a room
Fixes https://github.com/vector-im/vector-web/issues/1737
2016-07-12 18:30:37 +01:00
Aviral Dasgupta
30b7efd585 fix: code cleanup, fix getCurrentCommand 2016-07-04 21:44:35 +05:30
Aviral Dasgupta
cd928fe6f5 Merge remote-tracking branch 'upstream/develop' into feature-autocomplete 2016-07-03 00:00:02 +05:30
David Baker
e8337b2119 More PR feedback 2016-06-28 17:11:47 +01:00
David Baker
548c392236 PR feedback 2016-06-28 14:59:45 +01:00
David Baker
98c03869a7 Display an error message if room not found
Fixes https://github.com/vector-im/vector-web/issues/1012
2016-06-24 15:34:07 +01:00
David Baker
4c214119b2 Fix PR feedback 2016-06-20 18:05:58 +01:00
David Baker
d8dedae084 Fix /join to be consistent with the other code
Plus a number of other tidyups:

 * Fix /join to dispatch a view_room for the room alias
   with the additional auto_join parameter
 * Make RoomView automatically join the room if the auto_join
   parameter is true and the user isn't already in it
 * Tidy up RoomView's peeking code, also fixing
   https://github.com/vector-im/vector-web/issues/1220
   in react-sdk (although it still requires a synapse change
   to actually fix, but react-sdk does 'the right thing').
 * Remove duplication of usage text from /join command
 * Amalgamate MatrixChat::_viewRoom's many, many parameters
   into an object and sort out case consistency a little.
2016-06-20 16:30:51 +01:00
Aviral Dasgupta
4af983ed90 Style changes and improvements in autocomplete 2016-06-20 13:52:55 +05:30
David Baker
40b1b99c38 underscore prefix internal method 2016-06-14 14:40:03 +01:00
David Baker
a95d8b5ed6 Move init logic into componentWillMount
to simplify getInitialState
2016-06-14 14:38:45 +01:00
David Baker
b8eee08d69 Fix member list vanishing
Add a callback to RoomView that it can give the room ID to once it's resolved it, since this lookup is now the responsibility of the roomview and only the roomview. The view_room action now has either an alias or an ID, not both. Also fix RoomView to load the room properly and not try to peek when it shouldn't.
2016-06-14 12:56:37 +01:00
David Baker
11a38fce48 Fix peeking
Sorts out more of the room joining mess. currentRoom which held the room ID is now more appropriately called currentRoomId. RoomView will now take a roomID or alias as before but will now look up the room ID as required if given the alias. Also, now look up the alias every time you click on it so it's never stale, rather than looking in your current rooms for a room that thinks it has that ID.
2016-06-14 11:37:04 +01:00
David Baker
b60ab9d695 Remove XXX now it's fixed (yay!) 2016-06-09 18:50:18 +01:00
David Baker
72b3ce200d Make the room directory join rooms by alias
Also makes some improvement on the multiple code path mess for joining rooms
2016-06-09 18:49:06 +01:00
Matthew Hodgson
c3fc76cdaa warn guests to register nicely to upload files 2016-05-31 23:59:36 +01:00
Matthew Hodgson
7879be1704 implement basic local echo for resetting unread message count when opening a room without a scroll offset. hopefully largely fixes https://github.com/vector-im/vector-web/issues/967 2016-05-17 20:28:11 +01:00
Richard van der Hoff
0fd0b0c5f3 Whitespace fixes
Fix some trailing whitespace
2016-04-22 17:05:48 +01:00
Matthew Hodgson
eeb9abdf81 trailing whitespace 2016-04-18 01:34:45 +01:00
Matthew Hodgson
8db14bde60 switch Tinter from using dispatch to a synchronous update when changing the colourscheme, to avoid CSS getting out of sync with SVG colours 2016-04-16 01:00:10 +01:00
Matthew Hodgson
009781dac7 prep for RightPanel full collapse 2016-04-15 18:45:40 +01:00
Matthew Hodgson
0741e8a5c1 fix testing UI hack 2016-04-14 19:11:20 +01:00
Richard van der Hoff
85277a237a Merge pull request #270 from matrix-org/rav/issue_1314_federated_rooms
RoomView: Handle joining federated rooms
2016-04-13 16:36:46 +01:00
Matthew Hodgson
1e294cb10c fix 'mark all read' 2016-04-13 12:46:36 +01:00
Richard van der Hoff
ec5ca1ca28 s/roomAlias/roomAddress/ to reduce confusion 2016-04-13 12:26:40 +01:00
Matthew Hodgson
6509bc0589 oops, missed another fade 2016-04-13 11:17:09 +01:00
Matthew Hodgson
ead5418214 oops, missed a fade 2016-04-13 11:17:09 +01:00
Richard van der Hoff
93a142480c RoomView: Handle joining federated rooms
This hopefully fixes an issue where joining a federated room via the directory
would get stuck at a spinner of doom, due to us not recognising the room in
question when it came down the /sync. We now catch the room id in the response
from the /join, and use it to match up the room in onRoom.

props.roomAlias, props.roomId, and state.room.roomId were somewhat confusing,
so I've tried to rationalise them:

 * props.roomAlias (named thus to stop you assuming it's a room id) is the
   thing that the parent component uses to identify the room of interest, and
   can be either an ID or an alias (ie, it replaces props.roomId and
   props.roomAlias)

 * Everything that needs a room ID now has to get it from state.room.roomId.
2016-04-13 08:59:28 +01:00
Matthew Hodgson
a01e6d46b9 Merge pull request #268 from matrix-org/matthew/fadable
make the UI fadable to help with decluttering
2016-04-12 18:05:10 +01:00
Matthew Hodgson
3a2d5c4ba5 spinner on saving room settings 2016-04-12 18:01:49 +01:00
Matthew Hodgson
11f3d5f993 make the UI fadable to help with decluttering 2016-04-12 17:18:32 +01:00
Matthew Hodgson
38d27cdbb0 improve 'no known servers' error 2016-04-12 13:00:52 +01:00
Matthew Hodgson
7884c13d0d Merge branch 'develop' into matthew/preview_urls 2016-04-07 17:25:48 +01:00
Richard van der Hoff
8b8ee21765 Catch pageup/down and ctrl-home/end at the top level
Make the scroll keys work when the focus is outside the message panel.
2016-04-05 13:40:36 +01:00
Matthew Hodgson
4388334e30 fix up scroll behaviour when loading widgets 2016-04-02 00:36:19 +01:00
Richard van der Hoff
6422f7ecc8 Factor out separate RoomNameEditor and RoomTopicEditor components 2016-03-29 15:21:16 +01:00
Matthew Hodgson
8b67a1059d oops, forgot a sync dispatch on onSearchResultsResize 2016-03-24 02:14:16 +00:00
Matthew Hodgson
151a9994ba WIP fix for image load popping 2016-03-24 00:13:32 +00:00
Matthew Hodgson
2403eca6af profoundly evil ugly hack to workaround amandine's invite focus issues on her note-to-self rooms 2016-03-22 17:47:52 +00:00
David Baker
13f31b2a5d Add error message for failing to join a room as a guest (which may or may not be because we're a guest: we can't tell) 2016-03-22 13:47:29 +00:00
Richard van der Hoff
c31fbf1214 Merge pull request #236 from matrix-org/rav/search_pagination_spinner
Show a spinner when we back-paginate search results
2016-03-22 10:12:51 +00:00
Richard van der Hoff
75f8765f88 Add 'cancel all' option to 'unsent messages' bar
Also, make sure we hide said bar when unsent messages are cancelled.
2016-03-21 16:49:07 +00:00
Richard van der Hoff
c1fa89972a Show a spinner when we back-paginate search results
Hook into the existing searchInProgress state to show a spinner when we
back-paginate search.
2016-03-20 23:51:43 +00:00
Matthew Hodgson
24972a8267 if we're not peeking in a room, stop any ongoing peeking 2016-03-18 19:23:30 +00:00
Matthew Hodgson
d0ecd38927 top-align search results 2016-03-18 16:25:11 +00:00
Richard van der Hoff
15c9ad87a1 Merge pull request #231 from matrix-org/rav/pending_event_list
Use new pendingEventList functionality from matrix-js-sdk
2016-03-18 16:17:56 +00:00
David Baker
eb5aa7ed7d Move comment 2016-03-18 16:06:36 +00:00
David Baker
3e915cf0e2 Merge remote-tracking branch 'origin/develop' into dbkr/show_invited_email 2016-03-18 15:34:15 +00:00
Matthew Hodgson
deaa5c350a Remove unnecessary Modal.createDialogWithElement, complete with its broken onFinished() support. Switch SetDisplayNameDialog to use Modal.createDialog(). Explicitly pass false to closeDialog if the user tries to cancel dialogs by clicking on the background, rather than passing in an event object which evaluates to true. 2016-03-18 11:15:06 +00:00
Richard van der Hoff
b93af2d536 Use new pendingEventList functionality from matrix-js-sdk
Update react-sdk to use `pendingEventOrdering`==`detached` instead of
`end`. Look for pending events in the pendingEvent list, and use
MatrixClient.cancelPendingEvent to, uh, cancel pending events.
2016-03-17 22:26:06 +00:00
Matthew Hodgson
e55a375d6f improve RoomPreviewBar as per https://github.com/vector-im/vector-web/issues/761 2016-03-17 19:19:05 +00:00
David Baker
f1844a99e7 WIP on fixing https://github.com/vector-im/vector-web/issues/924
Pass the invited email through to RoomPreviewBar, display it in a temporary way currently.

Remove a condition from RoomView render that appears to be functionally identical to the previous.
2016-03-17 18:38:25 +00:00
Matthew Hodgson
50e33d30b6 never try to tab-complete yourself, doofus 2016-03-16 23:35:01 +00:00
Matthew Hodgson
bae23c78de fix https://github.com/vector-im/vector-web/issues/1040 and https://github.com/vector-im/vector-web/issues/833 2016-03-15 22:42:22 +00:00
Matthew Hodgson
5e050c6276 hopefully fix https://github.com/vector-im/vector-web/issues/819 2016-03-15 00:49:44 +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
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
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
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
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
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
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
David Baker
de2eaa3078 Document inviterName 2016-03-02 14:04:51 +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
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
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
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
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
d2a731e255 only resize the video element if not fullscreen 2016-02-19 01:18:53 +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
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
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
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
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
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
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
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
Richard van der Hoff
1d9c88698f Factor the statusbar implementation out of RoomView
... because RoomView must die
2016-02-08 18:08:19 +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