Commit graph

447 commits

Author SHA1 Message Date
Luke Barnard
91edc06441 Use RVS to indicate "joining" when setting a mxid
This prevents RoomView from doing any peeking whilst the join/registration is in progress, causing weirdness with TimelinePanel getPendingEventList (which throws an error if called when peeking).
2017-05-25 17:04:42 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
Luke Barnard
298c5e4df3 Implement a store for RoomView
This allows for a truely flux-y way of storing the currently viewed room, making some callbacks (like onRoomIdResolved) redundant and making sure that the currently viewed room (ID) is only stored in one place as opposed to the previous many places.

This was required for the `join_room` action which can be dispatched to join the currently viewed room.

Another change was to introduce `LifeCycleStore` which is a start at encorporating state related to the lifecycle of the app into a flux store. Currently it only contains an action which will be dispatched when the sync state has become PREPARED. This was necessary to do a deferred dispatch of `join_room` following the registration of a PWLU (PassWord-Less User).

The following actions are introduced:
 - RoomViewStore:
    - `view_room`: dispatch to change the currently viewed room ID
    - `join_room`: dispatch to join the currently viewed room
 - LifecycleStore:
    - `do_after_sync_prepared`: dispatch to store an action which will be dispatched when `sync_state` is dispatched with `state = 'PREPARED'`
 - MatrixChat:
    - `sync_state`: dispatched when the sync state changes. Ideally there'd be a SyncStateStore that emitted an `update` upon receiving this, but for now the `LifecycleStore` will listen for `sync_state` directly.
2017-05-24 16:56:13 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Luke Barnard
05aaa599cc Merge branch 'develop' into new-guest-access
Conflicts:
	src/components/structures/MatrixChat.js
2017-05-22 16:19:10 +01:00
Michael Telatynski
cc7edbf86d allow for sending arbitrary events, also override highlight with
event currently being forwarded while forwardingEvent is set

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 01:29:11 +01:00
Michael Telatynski
a2ab36f598 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into forward_message
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:33:36 +01:00
Richard Lewis
7e1de2ac35 Show/hide apps panel and misc formatting and lint fixes 2017-05-17 21:15:57 +01:00
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