Commit graph

1768 commits

Author SHA1 Message Date
David Baker
805354bd2c Revert unintentional change 2017-05-08 16:39:11 +01:00
David Baker
9cae667c06 Fix Create Room button
Opened the DM dialog rather than the new room dialog
2017-05-08 16:03:52 +01:00
David Baker
534f9277d4 Fix this/self fail in LeftPanel 2017-05-08 15:37:40 +01:00
Luke Barnard
39323647d1 Don't show null URL previews
These are URLs that were spidered by the server without error but yielded an empty response from the server. There's nothing to display, so return an empty div.
2017-05-08 14:01:44 +01:00
David Baker
cafbe14589 Fix keys for AddressSelector
Was using a property which just did not exist.
2017-05-08 11:59:06 +01:00
David Baker
c841eb641b Fix 'start chat' button 2017-05-08 11:26:25 +01:00
David Baker
3366d3bbae Merge pull request #859 from matrix-org/dbkr/left_panel_for_newbies_2
Make left panel better for new users (mk II)
2017-05-08 10:37:55 +01:00
Michael Telatynski
bd32df4ef6 comment wording 2017-05-07 20:58:30 +01:00
Michael Telatynski
360f1cd250 completely missed the ESC check
I need sleep
2017-05-07 20:57:54 +01:00
Michael Telatynski
78e7272344 Fixes 2 issues with Dialog closing
+ Upload Confirmation dialog would just change focus on ESC and not close
+ Keywords Dialog in UserSettings would also close UserSettings because event bubbled up
2017-05-07 20:43:42 +01:00
Matthew Hodgson
ceb71a4ef6 Merge pull request #866 from t3chguy/warn_on_unload
Explicitly save composer content onUnload
2017-05-07 20:07:09 +01:00
Michael Telatynski
a141350670 Explicitly save composer content onUnload
small oversight, caught by Matthew

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-07 20:01:55 +01:00
Michael Telatynski
2b2b43a7f3 Content in Composer is not lost on unload so it should be fine
to scare the user thinking they have lost all of their content
even though when they come back they can cry with joy :D

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-07 18:16:10 +01:00
David Baker
1a0ea29995 Remove redundant role elements 2017-05-05 17:51:14 +01:00
David Baker
4fc4ae1e99 Size is a string, import react
React gets put in by the JSX transpile
2017-05-05 14:56:26 +01:00
David Baker
4a5821e199 Separate classes for the different buttons
Also rename RoleButton to ActionButton because it's not being
given a Role any more.
2017-05-05 14:25:18 +01:00
David Baker
f86ca5bc97 Hide empty tips if collapsed 2017-05-04 18:08:04 +01:00
David Baker
72df43d22b Year 2017-05-04 15:46:24 +01:00
David Baker
306ea58578 Merge remote-tracking branch 'origin/develop' into dbkr/left_panel_for_newbies_2 2017-05-04 15:45:05 +01:00
David Baker
6a1d0fbab5 Make bottom left menu buttons use RoleButton too 2017-05-04 15:38:09 +01:00
David Baker
0998adb366 What year is it? Who's the president? 2017-05-04 15:02:21 +01:00
Luke Barnard
d5b49a11d7 Merge pull request #829 from matrix-org/luke/fix-people-section-disappearing
Remove DM-guessing code
2017-05-04 14:15:28 +01:00
David Baker
e1c99430cb Merge remote-tracking branch 'origin/develop' into dbkr/left_panel_for_newbies_2 2017-05-04 14:04:22 +01:00
David Baker
ce119a6364 Add buttons to room sub list headers 2017-05-04 13:55:52 +01:00
Luke Barnard
bfa3123f9b Combine data-scroll-token and -contained-scroll-tokens
- Instead of using one attribute, use one that might just contain one token
 - Use the first token when tracking a child
 - Mandate that no commas can be in individual tokens
2017-05-04 10:00:13 +01:00
Michael Telatynski
b6fd771b9a move implementation to MessageComposer to it applies to any future composers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-03 16:21:35 +01:00
Michael Telatynski
18ba5d3e49 fix typo
made in #849
2017-05-03 12:39:24 +01:00
Luke Barnard
3f25928380 Fix jumping to an unread event when in MELS
This adds the `data-contained-scroll-tokens` API to elements in `ScrollPanel` which allows arbitrary containers of elements with scroll tokens to declare their contained scroll tokens. When jumping to a scroll token inside a container, the `ScrollPanel` will act as if it is scrolling to the container itself, not the child.

MELS has been modified such that it exposes the scroll tokens of all events that exist within it.This means "Jump to unread message" will work if the unread event is within a MELS (which is any member event, because even individual member events surrounded by other events are put inside a MELS).
2017-05-02 16:34:39 +01:00
Luke Barnard
4f71f4c331 Store mx_pass at the same point as access_token
So that we don't overwrite the existing one every time we try to register.
2017-05-02 10:07:06 +01:00
Luke Barnard
a887af9f92 copyright 2017-05-02 09:56:14 +01:00
Michael Telatynski
6685cbcb25 make MessageComposerInput (new and old) warn on unload
new needs binding due to class this ref being softer
couldn't do this nicely in MessageComposer/Input as
isTyping wasn't propagated.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-29 06:26:59 +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
David Baker
083d5bf463 Other empty sections no longer need to be greyed 2017-04-28 11:20:29 +01:00
David Baker
f5f35e3294 Make the left panel more friendly to new users
https://github.com/vector-im/riot-web/issues/3609
2017-04-28 11:10:21 +01:00
Luke Barnard
88abe54ffe Give the SRH its prop back 2017-04-27 17:58:02 +01:00
Luke Barnard
0b06e979cb Add optional tintable SVG icon for SimpleRoomHeader 2017-04-27 17:57:13 +01:00
Matthew Hodgson
fc774e8508 Merge pull request #808 from matrix-org/rob/shiny-avatars
(Room)?Avatar: Request 96x96 avatars on high DPI screens
2017-04-27 12:02:52 +01:00
Robert Swain
39de37b547 *Avatar: Calculate thumbnail dimensions based on devicePixelRatio
Multiply the dimension by the device pixel ratio and then round it to
get the width/height of the thumbnail to use in the request.
2017-04-27 12:38:03 +02:00
Luke Barnard
63224ff164 Add mx_EventTile_emote class 2017-04-26 18:00:25 +01:00
Luke Barnard
5f0ecc588f Fix dialog reappearing after hitting Enter
Fixes https://github.com/vector-im/riot-web/issues/3714

https://github.com/vector-im/riot-web/issues/3714#issuecomment-297460620 :
> It's as if there are two dialogs and as one closes, the other one appears. For some reason matrix-org/matrix-react-sdk#822 is causing this.
> I've realised it's because the `priorActiveElement` is probably the button that opened the dialog. If this is focused and the enter key is released, this triggers a keyPress which fires once the dialog has closed and the button has been focused 😬 the BaseDialog only calls stopPropagation _onKeyDown.

The soln. was to submit the dialog as finished `onKeyUp`. This means the `priorActiveElement` is focussed after any key events that should be associated with the dialog.
2017-04-26 17:37:52 +01:00
Luke Barnard
4207bf31f2 Merge pull request #833 from matrix-org/luke/improve-country-dd
Improve country dropdown UX and expose +prefix
2017-04-26 10:25:10 +01:00
David Baker
78b452818c Merge pull request #836 from t3chguy/fix_UserSettingsStore
Fix user settings store
2017-04-26 10:11:32 +01:00
Michael Telatynski
6cbd04045d change the now working defaults
to what they effectively were when defaultValue was broken
(hopefully tests now pass)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 22:17:25 +01:00
David Baker
c1336f09fe Merge remote-tracking branch 'origin/develop' into luke/improve-country-dd 2017-04-25 18:06:04 +01:00
Luke Barnard
71a119376c Guard against no children 2017-04-25 17:05:54 +01:00
Luke Barnard
1e9a2e80e9 Remove empty line 2017-04-25 11:57:03 +01:00
Luke Barnard
0d4ab07250 Fix not autoSelecting first item in dropdown
Fixes https://github.com/vector-im/riot-web/issues/3686
2017-04-25 11:53:14 +01:00
Luke Barnard
aac0238882 Remove redundant API for getting country prefix 2017-04-25 11:25:14 +01:00
Luke Barnard
336462366e Improve country dropdown UX and expose +prefix
A prefix is now exposed through a change to the API for onOptionChange. This now returns the entire country object which includes iso2, prefix etc.

This also shows the prefix in the Registration and Login screens as a prefix to the phone number field.
2017-04-25 11:21:47 +01:00
Luke Barnard
5c83d4d2ed Merge pull request #832 from t3chguy/ude_break_out_room
show the room name in the UDE Dialog
2017-04-25 10:04:23 +01:00
Michael Telatynski
e64b647799 show the room name in the UDE Dialog
especially useful when it appears after you switch rooms

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 09:26:21 +01:00
Matthew Hodgson
29e48d1801 Merge pull request #826 from matrix-org/matthew/mels-profile-changes
summarise profile changes in MELS
2017-04-25 00:18:19 +01:00
Matthew Hodgson
63dac026a8 remove spammy log 2017-04-25 00:17:46 +01:00
Michael Telatynski
9ae9aeea07 lets improve forwarding :D
ditch double quotes
stop caring about rhs state
always call hide_right_panel, nop if already hidden
use new restore_right_panel to bring it back if it was visible pre-us

actually tell things that we sent a message or failed in doing so
now the UDE works :D

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:14:45 +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
turt2live
e6fd380947 Change redact -> remove for clarity
Addresses vector-im/riot-web#2814

Non-technical users may not understand what 'redact' means and can more easily understand what 'Remove' does. See discussion on vector-im/riot-web#2814 for more information.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-24 12:49:09 -06: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
Luke Barnard
74e92d6c23 Remove DM-guessing code 2017-04-24 15:44:45 +01:00
Matthew Hodgson
1347d9fa65 fix scroll behaviour on macs with no gemini 2017-04-24 12:53:53 +01:00
Matthew Hodgson
6f461f0ebb add in scrollto button 2017-04-24 01:09:57 +01:00
Matthew Hodgson
24f2aed45f summarise profile changes in MELS
fixes https://github.com/vector-im/riot-web/issues/3463
2017-04-23 04:05:50 +01:00
Matthew Hodgson
a2be764681 display err.message to user if available in error msgs 2017-04-23 01:48:27 +01:00
Matthew Hodgson
db996f678c show better errors when slash commands fail 2017-04-23 01:32:51 +01:00
Matthew Hodgson
34c1a8f3cf make autofocus explicit on errordialog as it autoFocus attr seems unreliable 2017-04-22 17:28:48 +01:00
Matthew Hodgson
0e5006b041 typo 2017-04-22 17:28:28 +01:00
Matthew Hodgson
0ac836919d Merge pull request #822 from t3chguy/BaseDialog_restore_focus
Remember element that was in focus before rendering dialog
2017-04-22 16:05:34 +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
6a657a6555 Remember element that was in focus before rendering dialog
restore focus to that element when we unmount

also remove some whitespace because ESLint is a big bad bully...

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-22 05:44:27 +01:00
Matthew Hodgson
aa0658d9ce Merge pull request #802 from t3chguy/t3chguy/file_download_improvements
File Download Consistency
2017-04-22 02:59:25 +01:00
Matthew Hodgson
ba0bb677c8 Merge pull request #817 from turt2live/travis/rw-3626
Change presence status labels to 'for' instead of 'ago'
2017-04-22 01:45:21 +01:00
Matthew Hodgson
304136766d Merge pull request #816 from t3chguy/ability_to_disable_scalar
Disable Scalar Integrations if urls passed to it are falsey
2017-04-22 01:39:20 +01:00
Matthew Hodgson
872d0e0f50 Merge branch 'develop' into travis/hide-read-receipts 2017-04-22 01:36:38 +01:00
Matthew Hodgson
b36eb90a10 Merge pull request #819 from turt2live/travis/no-typing-notifs
Add option to not send typing notifications
2017-04-22 01:35:07 +01:00
Matthew Hodgson
1faecfd0f7 fix sticky headers on resize 2017-04-22 01:29:48 +01:00
Matthew Hodgson
ec6a1c4c75 recalculate roomlist when your invites change 2017-04-22 01:16:25 +01:00
turt2live
64e416e117 Add option to not send typing notifications
Addresses vector-im/riot-web#3220

Fix applies to both the RTE and plain editor.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 14:50:26 -06:00
turt2live
e4c4adc517 Add option to hide other people's read receipts.
Addresses vector-im/riot-web#2526

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 14:28:28 -06:00
turt2live
2d39b59556 Change presence status labels to be more clear.
As per vector-im/riot-web#3626 the current labels are unclear. Changing the verbage should make it more clear.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 13:41:37 -06:00
Michael Telatynski
8e9f52e217 Disable Scalar Integrations if urls passed to it are falsey
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 19:46:19 +01:00
Michael Telatynski
589d41e3b9 DRY the code a little bit in anticipation of #813
which sends a `focus_composer` onCancelClick()

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 18:51:49 +01:00
Luke Barnard
19d6d1ef4b Merge pull request #811 from matrix-org/luke/login-ui
First iteration on improving login UI
2017-04-21 16:25:16 +01:00
Luke Barnard
9c4c706120 Remove :server.name for custom servers
Custom servers may not be configured such that their domain name === domain part.
2017-04-21 16:09:11 +01:00
Michael Telatynski
64112da25c only re-show right panel if it was visible before we were mounted
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 14:13:01 +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
Matthew Hodgson
b0288ebd89 fix stupid typos in RoomList's shouldComponentUpdate 2017-04-21 12:40:13 +01:00
Luke Barnard
2b9cb999ba autoFocus PasswordLogin 2017-04-21 11:50:19 +01:00
Luke Barnard
9cd7914ea5 Finishing off the first iteration on login UI
This makes the following changes:
 - Improve CountryDropdown by allowing all countries to be displayed at once and using PNGs for performance (trading of quality - the pngs are scaled down from 32px to 25px)
 - "I want to sign in with" dropdown to select login method
 - MXID login field that suffixes HS domain (whether custom or matrix.org) and prefixes "@"
 - Email field which is secretly the same as the username field but with a different placeholder
 - No more login flickering when changing ServerConfig (!) fixes https://github.com/vector-im/riot-web/issues/1517

This implements most of the design in https://github.com/vector-im/riot-web/issues/3524 but neglects the phone number login:
![login_with_msisdn](https://cloud.githubusercontent.com/assets/1922197/24864469/30a921fc-1dfc-11e7-95d1-76f619da1402.png)

This will be updated in another PR to implement desired things:
 - Country code visible once a country has been selected (propbably but as a prefix to the phone number input box.
 - Use square flags
 - Move CountryDropdown above phone input and make it show the full country name when not expanded
 - Auto-select country based on IP
2017-04-21 11:37:08 +01:00
Robert Swain
3d507e9840 (Room)?Avatar: Request 96x96 avatars on high DPI screens 2017-04-21 00:05:52 +02:00
Matthew Hodgson
35a16edccc oops, actually refresh roomlist when its state changes! 2017-04-20 15:47:59 +01:00
Matthew Hodgson
0d8d3c6710 HOW DID THIS EVER WORK? 2017-04-20 15:15:20 +01:00
Matthew Hodgson
238f59dc87 return the event from RoomTile's onClick to distinguish clicks from keypresses 2017-04-20 14:16:45 +01:00
Matthew Hodgson
e69ea68133 unbreak stack overflow which fires on tests due to mocked timers 2017-04-20 13:53:36 +01:00
Matthew Hodgson
5a3b4b6a60 various bug fixes:
don't redraw RoomList when the selectedRoom changes
keep passing selectedRoom through to RoomTiles so they have correct initial state
handle onAccountData at the RoomList, not RoomTile level
Fix some typos
2017-04-20 01:12:57 +01:00
Matthew Hodgson
90f526bdeb autofocus doesn't seem to work on this button 2017-04-20 00:42:13 +01:00
Matthew Hodgson
9f99224a1f fix bugs from PR review 2017-04-19 17:59:06 +01:00
Luke Barnard
566a315242 Initial commit on riot-web#3524 (login UI update) 2017-04-19 10:08:04 +01:00
Matthew Hodgson
fb6252a16b fix invite highlights take 3 2017-04-19 00:16:17 +01:00
Matthew Hodgson
4a9c168682 fix invite highlights 2017-04-19 00:13:01 +01:00
Matthew Hodgson
abf2300c0d highlight invites correctly 2017-04-19 00:09:03 +01:00
Matthew Hodgson
093b9a0b52 kick the roomtile on RoomState.members 2017-04-18 23:29:28 +01:00
Matthew Hodgson
8389a67c75 we don't need RoomTile specific focus in the end 2017-04-18 22:54:30 +01:00
Matthew Hodgson
015a4480e2 oops, wire up Room.receipt again, and refresh roomtiles on Room.timeline 2017-04-18 22:36:54 +01:00
Matthew Hodgson
c1c3956df4 fix bugs, and handle shortcircuit react when updating roomtile 2017-04-18 19:28:24 +01:00
Matthew Hodgson
062963b32f move focus-via-up/down cursors to LeftPanel 2017-04-18 17:49:28 +01:00
Matthew Hodgson
4fb9635175 nudge focus shortcut code further to working 2017-04-18 17:12:42 +01:00
Matthew Hodgson
9591ad31e6 fix bugs, experiment with focus pulling, make it vaguely work 2017-04-18 02:43:29 +01:00
Matthew Hodgson
da569c2c8d add constantTimeDispatcher and use it for strategic refreshes.
constantTimeDispatcher lets you poke a specific react component to do something
without having to do any O(N) operations.  This is useful if you have thousands
of RoomTiles in a RoomSubList and want to just tell one of them to update,
without either having to do a full comparison of this.props.list or have each
and every RoomTile subscribe to a generic event from flux or node's eventemitter

*UNTESTED*
2017-04-17 21:06:37 +01:00
Michael Telatynski
6f0c3b1c03 Pass file name (as name) to the ImageView modal
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-17 14:50:34 +01:00
Michael Telatynski
a0c498e8ba Make Download behaviour consistent with that of E2E (iframed) download butttons (ACTUALLY DOWNLOAD)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-17 14:37:24 +01:00
Matthew Hodgson
691639d1e0 track RoomTile focus in RoomList, and stop the RoomList from updating during mouseOver 2017-04-15 13:25:32 +01:00
Matthew Hodgson
1189368aab add a class to remove evil blue outlines 2017-04-15 00:30:48 +01:00
Luke Barnard
7ae13f5889 Merge pull request #762 from lieuwex/hide-link-preview-quote
Don't show link preview when link is inside of a quote
2017-04-12 15:31:43 +01:00
David Baker
726cb43fee Merge pull request #794 from matrix-org/luke/feature-textual-pls
Implement user power-level changes in timeline
2017-04-12 09:52:53 +01:00
Luke Barnard
8b4836b60e Refactor roles into Roles.js
So that the mapping between a numerical power level and a "role" are done in one place. PowerSelector.js has been modified to use the same mapping.
2017-04-10 10:09:26 +01:00
Matthew Hodgson
6dbb4e9002 fix the warning shown to users about needing to export e2e keys
apparently when we added the buttons to export e2e keys to the Logout button, we didn't change the text warning the user that e2e export was coming soon.  likewise when changing password and forgetting password (where we didn't even have a button to export keys)
2017-04-07 23:34:11 +01:00
Luke Barnard
6010350ce5 Implement power-level changes in timeline
Fixes https://github.com/vector-im/riot-web/issues/266
2017-04-06 17:02:35 +01:00
Luke Barnard
6c09a08a7d Click emote sender -> insert display name into composer
Also, fix the imports TextualBody.
2017-04-06 14:08:59 +01:00
Luke Barnard
106ce90916 Change "Unread messages." to "Jump to first unread message."
Also get rid of the "up" arrow so as not to indiciate direction. This is important because in future the RM will not be based on what has been paginated into the client (but instead RM will be handled server-side) and thus we cannot assert any kind of direction on it relative to the events in the viewport.
2017-04-04 16:31:28 +01:00
David Baker
11a1c8099c Merge pull request #776 from matrix-org/luke/fix-directory-search-enter
Only join a room when enter is hit if the join button is shown
2017-03-30 09:59:42 +01:00
David Baker
e139f5212a Remove React warning
Fire onOptionChange in componentWillMount, otherwise end up trying
to update state effectively in a render method, which is bad.
2017-03-29 15:05:49 +01:00
Luke Barnard
98a0b804c7 Only join a room when enter is hit when the join button is shown 2017-03-28 13:02:13 +01:00
David Baker
91d10646b5 Merge pull request #775 from matrix-org/luke/fix-RoomList-notif-flashing
Improve zeroing of RoomList notification badges
2017-03-28 11:33:38 +01:00
Luke Barnard
4a0988f83e Do not send the room with action
By not sending the room with the action, we prevent its state from being updated by registered views listening for on_room_read
2017-03-28 11:26:40 +01:00
Luke Barnard
f4dc7ae8b1 Improve zeroing of RoomList notification badges
Use an action and force an update when zeroing the number of notifications in a room. This is better than waiting for a `render` to happen at some point. This will hopefully fix https://github.com/vector-im/riot-web/issues/3257
2017-03-28 10:38:57 +01:00
David Baker
a38a954fb5 Merge pull request #772 from matrix-org/dbkr/disinvite_is_not_kick
Correct confirm prompt for disinvite
2017-03-27 17:42:39 +01:00
David Baker
c743663f7d Merge pull request #771 from matrix-org/dbkr/invite_always_show_valid_mxid
Fix bug where you can't invite a valid address
2017-03-27 17:20:51 +01:00
David Baker
db3339de33 I still can't type 2017-03-27 17:03:59 +01:00
David Baker
9125c1b2cc I can't type 2017-03-27 17:00:05 +01:00
David Baker
a3efa45795 Correct confirm prompt for disinvite
It should be 'disinvite' not 'kick', and probably doesn't really
need a reason.
2017-03-27 16:53:00 +01:00
David Baker
a230354dbe Fix bug where you can't invite a valid address
Always show the entered text as an option if it's a valid address,
otherwise there's no way to invite an address that is valid and
also returns other mxids in the search results.

Fixes https://github.com/vector-im/riot-web/issues/3496
2017-03-27 16:40:01 +01:00
Luke Barnard
7eb3a776dc Merge pull request #761 from matrix-org/luke/fix-people-section2
Fix people section DropTarget and refactor Rooms
2017-03-27 15:52:28 +02:00
Luke Barnard
a4b4c3feb8 Read Receipt offset
Read receipts were always one read receipt to the left further than they should have been. This fixes that and simplifies the logic.
2017-03-27 14:34:05 +01:00
Luke Barnard
dca02d916a Merge branch 'develop' into luke/fix-people-section2 2017-03-27 09:45:14 +01:00
David Baker
a8d85ca2ad Merge pull request #756 from matrix-org/dbkr/add_msisdn
Support adding phone numbers in UserSettings
2017-03-24 10:54:22 +00:00
David Baker
5e3b991ec2 PR feedback fixes 2017-03-24 10:45:38 +00:00
David Baker
d5272149f6 Another unmounted guard 2017-03-22 16:42:44 +00:00
David Baker
b58d8bffe1 More PR feedback
Unmounted guards, extra semicolon, return early to lose indent
level, add keys.
2017-03-22 16:41:08 +00:00
David Baker
6b78440466 Unmounted guard 2017-03-22 16:36:42 +00:00
David Baker
e39979a61f Convert to old style react class 2017-03-22 16:15:45 +00:00
David Baker
cca607d469 Make phone number form a bit more semantic 2017-03-22 15:39:09 +00:00
David Baker
4cd24d15d4 Factor out AddPhoneNumber to a separate component 2017-03-22 15:18:27 +00:00
David Baker
ec63e18b42 Show spinner whilst processing recaptcha response
The fact that we showed no feedback whilst submitting the captcha
response was causing confusion on slower connections where this
took a nontrivial amount of time.

Takes a new flag from the js-sdk that indicates whether the
request being made is a background request, presenting a spinner
appropriately.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/396
2017-03-21 18:40:41 +00:00
David Baker
4a29d674f8 Merge pull request #750 from matrix-org/dbkr/msisdn_signin_2
Login / registration with phone number, mark 2
2017-03-21 13:43:11 +00:00
Matthew Hodgson
f65cc940c3 Merge pull request #764 from lieuwex/fix-extraneous-space-emote
Fix extraneous leading space in sent emotes
2017-03-19 21:34:13 +00:00
Matthew Hodgson
bf8973ad33 avoid leading space in HTML /me too 2017-03-19 21:33:18 +00:00
Lieuwe Rooijakkers
c697b48f99 fix leading extraneous space in emotes 2017-03-19 21:52:24 +01:00
Aviral Dasgupta
7891f9b246
UnknownBody: add explanatory title 2017-03-19 15:21:12 +05:30
Matthew Hodgson
df63c779dd clarify that redact === delete 2017-03-19 02:34:25 +00:00
Keyvan Fatehi
25a4f4e3b6 Add ConfirmRedactDialog component
Signed-off-by: Keyvan Fatehi <keyvanfatehi@gmail.com>
2017-03-18 18:58:28 -07:00
Lieuwe Rooijakkers
b3fc1844e8 don't show link preview when link is inside of a quote
Signed-off-by: Lieuwe Rooijakkers <lieuwerooijakkers@gmail.com>
2017-03-18 11:50:49 +01:00
Luke Barnard
7ecabe49d2 Fix people section DropTarget and refactor Rooms
- Set the verb for the people section to "tag as direct chat". This requires some CSS modifications to Riot because it's a long bit of text relative to, say, "demote".
 - Because it's quite useful to be able to set the DM status of a room with just a boolean, add a convenience function for guessing a DM member and setting the DM flag on that room with the resulting member.
2017-03-17 11:59:22 +00:00
David Baker
f8a1634720 Merge pull request #759 from matrix-org/luke/display-redactions-better
Display timestamps and profiles for redacted events
2017-03-16 17:14:10 +00:00
Luke Barnard
d4ed9e816b Display timestamps and profiles for redacted events
This is part of fixing https://github.com/vector-im/riot-web/issues/3390
2017-03-16 17:00:10 +00:00
Luke Barnard
e04a368f7e Merge pull request #755 from matrix-org/luke/export-e2e-on-logout
Add "Export E2E keys" option to logout dialog

Tests were failing due to flaky test, fixed in 544a65
2017-03-16 14:53:06 +00:00
Luke Barnard
b21f016d37 Add "Export E2E keys" option to logout dialog
Fixes https://github.com/vector-im/riot-web/issues/3184
2017-03-16 14:18:18 +00:00
Luke Barnard
ed22a74eaf Fix People section a bit
This does two things:
 - Sets `editable` to true for the "People" `RoomSubList` so that people can be dragged to favourites. This has the downside that you can drag a "People" to "Rooms", but it won't set the direct chat flag. This is because im.vector.fake.direct != m.direct, sadly.
 - Sets `alwaysShowHeader` to `true` so that the `IncomingCallDialog` can be showneven when there are no people in `sortedList`. Fixes https://github.com/vector-im/riot-web/issues/2956.
2017-03-16 11:31:47 +00:00
Luke Barnard
5e93dde0dd Merge pull request #746 from matrix-org/luke/merge-RoomTile-context-menus
Merge the two RoomTile context menus into one
2017-03-14 14:19:36 +00:00
David Baker
878413f6a4 Support msisdn signin
Changes from https://github.com/matrix-org/matrix-react-sdk/pull/742
2017-03-14 11:50:13 +00:00
Luke Barnard
ba0715ba7c Fix import for Lifecycle
This fixes https://github.com/vector-im/riot-web/issues/2991 although we might need to give more feedback than just showing the login screen. Maybe a dialog that says "your account has been deactivated".
2017-03-13 14:10:14 +00:00
Matthew Hodgson
925bbb79ad fix kick dialog CSS 2017-03-13 00:47:33 +00:00
Matthew Hodgson
8a0b08e7f6 fix CSS for ChatCreateOrReuseDialog.js 2017-03-13 00:03:33 +00:00
Matthew Hodgson
bf64f387ce name class to match file 2017-03-12 23:50:12 +00:00
Matthew Hodgson
3a849bce60 name class to match file 2017-03-12 23:48:57 +00:00
Matthew Hodgson
3aaf37df1a beautify a tonne more errors 2017-03-12 22:59:41 +00:00
Matthew Hodgson
e5a5b5cd08 oops 2017-03-12 20:13:39 +00:00
Matthew Hodgson
b7d5d2fd56 beautify UserSettings error msg
fix up default dialog cancel button
2017-03-12 20:03:14 +00:00
Richard van der Hoff
2786fb0f46 Revert "Support registration & login with phone number (#742)"
This reverts commit 0269562383.

This breaks against the current synapse release. We need to think more
carefully about backwards compatibility.
2017-03-09 18:32:44 +00:00
Matthew Hodgson
7fb9ce2b78 Merge pull request #744 from matrix-org/luke/add-onclick-permalinks
Add onClick to permalinks to route within Riot
2017-03-09 18:29:42 +00:00
Matthew Hodgson
6c7b191577 Merge pull request #605 from SijmenSchoon/feature/pastefiles
Add support for pasting files into the text box
2017-03-09 17:55:58 +00:00
Luke Barnard
1f788feacd Merge the two RoomTile context menus into one
This will require riot-web changes https://github.com/vector-im/riot-web/pull/3395
2017-03-09 17:03:57 +00:00
David Baker
0269562383 Support registration & login with phone number (#742)
* WIP msisdn sign in

* A mostly working country picker

* Fix bug where you'dbe logged out after registering

Stop the guest sync, otherwise it gets 401ed for using a guest
access token for a non-guest, causing us to beliebe we've been
logged out.

* Use InteractiveAuth component for registration

* Fix tests

* Remove old signup code

* Signup -> Login

Now that Signup contains no code whatsoever related to signing up,
rename it to Login. Get rid of the Signup class.

* Stray newline

* Fix more merge failing

* Get phone country & number to the right place

* More-or-less working msisdn auth component

* Send the bind_msisdn param on registration

* Refinements to country dropdown

Rendering the whole lot when the component was rendered just makes
the page load really slow, so just show 2 at a time and rely on
type-to-search.

Make type-to-search always display an exact iso2 match first

* Propagate initial inputs to the phone input

* Support msisdn login

* semicolon

* Fix PropTypes

* Oops, use the 1qst element of the array

Not the array of object keys which has no particular order

* Make dropdown/countrydropdown controlled

* Unused line

* Add note on DOM layout

* onOptionChange is required

* More docs

* Add missing propTypes

* Don't resume promise on error

* Use React.Children to manipulate children

* Make catch less weird

* Fix null dereference

Assuming [0] of an empty list == undefined doesn't work if you're
then taking a property of it.
2017-03-09 10:59:22 +00:00
Luke Barnard
c98a2144e9 Merge branch 'develop' into luke/add-onclick-permalinks 2017-03-09 09:59:09 +00:00
Luke Barnard
173daddb04 Comment typo 2017-03-09 09:56:52 +00:00
David Baker
676c5c21c1 Merge pull request #739 from matrix-org/luke/visible-redactions
Show message redactions as black event tiles
2017-03-09 09:41:31 +00:00
Luke Barnard
2513bfa612 Add onClick to permalinks to route within Riot 2017-03-08 16:55:44 +00:00
Luke Barnard
b7f1b1a424 Merge pull request #736 from matrix-org/luke/chat-create-or-reuse-dialog
Allow user to choose from existing DMs on new chat
2017-03-07 16:22:52 +00:00
Luke Barnard
391886cac4 Remove dis as a dep in RoomTile 2017-03-06 17:45:25 +00:00
Luke Barnard
bf348a0f78 Instead of listening for view_room, use a callback
But make sure that nothing other than the callback is done when RoomTile is clicked.
2017-03-06 17:44:29 +00:00
Luke Barnard
04510da057 Clarify "No devices" message 2017-03-06 16:01:22 +00:00
Luke Barnard
20fa36325f Remember to unregister on unmoun 2017-03-06 15:01:46 +00:00
Luke Barnard
4548d1b824 Use dispatch instead of passing onClick, adjust dialog wording. 2017-03-06 14:51:01 +00:00
Luke Barnard
a122b5d88e Style 2017-03-06 14:22:12 +00:00
Luke Barnard
c0fc3ba3fe Make redactions appear when the event has been redacted (on Room.redaction) 2017-03-06 14:20:24 +00:00
David Baker
49c66d8645 Merge pull request #735 from matrix-org/luke/matrix-to-timestamp-permalink
Change timestamp permalinks to matrix.to
2017-03-06 11:07:50 +00:00
David Baker
30eddf9fda Merge pull request #734 from matrix-org/luke/fix-resend
Fix resend bar and "send anyway" in UDD
2017-03-06 11:06:52 +00:00
Luke Barnard
edccfeb20b No text required, do not continuate after redacted even
It's curious, however, that a continuation occured after a redacted event, given that the event shouldn't have a sender
2017-03-06 10:26:26 +00:00
Luke Barnard
abd71cd2ac No need for "redactor" as we dont currently show it 2017-03-03 17:57:13 +00:00
Luke Barnard
9bae936816 Add the redacter display name to the redaction text 2017-03-03 17:35:42 +00:00
Luke Barnard
5ef61b7c35 Only show a redaction tile for messages 2017-03-03 16:45:29 +00:00
Luke Barnard
6c32e3720b Remove seemingly unused "bounce" 2017-03-03 15:51:14 +00:00
Luke Barnard
2bd9885288 Start to show redacted events 2017-03-03 15:42:24 +00:00
David Baker
62d9439530 Remove old import & pass through result
in InteractiveAuthDialog
2017-03-03 14:31:52 +00:00
Luke Barnard
ca5c2fb82e Allow user to choose from existing DMs on new chat
When creating a new chat with one person, show a dialog that asks the user whether they'd like to use an existing chat or actually create a new room.

Fixes https://github.com/vector-im/riot-web/issues/2760
2017-03-03 13:48:37 +00:00
David Baker
1bdf213d67 Merge pull request #729 from matrix-org/dbkr/register_ui_auth
Port registration over to use InteractiveAuth
2017-03-03 13:37:41 +00:00
David Baker
977b8a7379 Make UIAuth Dialog show an error
when auth fails
2017-03-03 12:08:26 +00:00
Luke Barnard
ab9aaa9174 Merge pull request #732 from matrix-org/luke/fuse-test
Test to see how fuse feels
2017-03-03 10:46:41 +00:00
Luke Barnard
923ea9c6aa Change timestamp permalinks to matrix.to 2017-03-03 10:42:44 +00:00
Luke Barnard
b822bc66ee Remove redundant null check 2017-03-03 10:22:02 +00:00
Luke Barnard
7be55ce65c Merge pull request #733 from matrix-org/luke/display-name-blur-to-submit
Submit a new display name on blur of input field
2017-03-03 10:03:21 +00:00
Luke Barnard
4fff383de5 Fix resend bar and "send anyway" in UDD 2017-03-03 10:02:08 +00:00
Luke Barnard
1d5e47cd70 On cancel, blur. Only onValueChanged when the value has changed... 2017-03-02 18:07:24 +00:00
Luke Barnard
7a092e4ac7 Submit a new display name on blur of input field 2017-03-02 17:29:06 +00:00
David Baker
518a749d90 Add proptypes / isRequired 2017-03-02 14:36:54 +00:00
Luke Barnard
e75c21e9f9 Merge pull request #683 from matrix-org/luke/mels-xor
MELS: either expanded or summary, not both
2017-03-02 14:08:06 +00:00
David Baker
8be66d0f04 Merge pull request #730 from Half-Shot/hs/video-gif-autoplay
Autoplay videos and GIFs if enabled by the user.
2017-03-02 13:41:30 +00:00
Will Hunt
4b5e8d66b8 Fixed styling + removed log line 2017-03-02 13:39:56 +00:00
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
David Baker
95cff17698 Merge pull request #721 from matrix-org/luke/fix-refactor-UnknownDeviceDialog
Show UDDialog on UDE during VoIP calls
2017-03-02 13:13:45 +00:00
David Baker
c9ef879afa PR feedback: Move the email token request here 2017-03-01 16:04:15 +00:00
Luke Barnard
6d296a0e7a Warn users about using e2e for the first time 2017-03-01 15:41:13 +00:00
David Baker
dd33624454 Merge remote-tracking branch 'origin/develop' into dbkr/register_ui_auth
(This ended up mostly being merged by hand as git made a complete
mess of the merge)
2017-03-01 10:45:17 +00:00
Will Hunt
4509901592 image (gifs) and video messages will autoplay if enabled. 2017-02-27 22:16:56 +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
5be2c62011 Fix a couple of issues with RRs
- Shift to the left _before_ adding an avatar so that there are always `MAX_READ_AVATARS` visible, instead of there being `MAX_READ_AVATARS + 1` avatars displayed following the first "collapse".
- Use `right` instead of `left` so that double-digit remainders don't get overlapped.
2017-02-27 11:16:13 +00:00
David Baker
454aa0757a Poll for authentication completion
on registration (both for email validation and completion of the
whole auth session).
2017-02-24 17:24:10 +00:00
David Baker
76b381b849 Spurious newline 2017-02-24 12:01:06 +00:00
David Baker
51467506f8 Port registration over to use InteractiveAuth
These changes are moved over from the dbkr/msisdn_signin branch
2017-02-24 11:41:23 +00:00
Luke Barnard
439bde309e General ChatInviteDialog optimisations
- Use avatar initial instead of "R" or "?"
- Use Fuse.js to do case-insensitive fuzzy search. This allows for better sorting of results as well as search based on weighted keys (so userId has a high weight when the input starts with "@").
- Added debounce of 200ms to prevent analysis on every key stroke. Fuse seems to degrade performance vs. simple, non-fuzzy, unsorted matching, but the debounce should prevent too much computation.
- Move the selection to the top when the query is changed. There's no point in staying mid-way through the items at that point.
2017-02-23 12:12:25 +00:00
David Baker
8737112a8c Merge pull request #715 from matrix-org/luke/mels-scrolling-fix
MELS: check scroll on load + use mels-1,-2,... key
2017-02-23 10:12:26 +00:00
Luke Barnard
8bd42693f7 Fix message composer placeholders 2017-02-23 09:05:26 +00:00
Luke Barnard
b41787c335 Initial work on improving invite dialog 2017-02-23 09:03:20 +00:00
Luke Barnard
b68b0e25c8 Merge Matthew's wording patch 2017-02-22 16:59:45 +00:00
Luke Barnard
436e6b36f1 Move UDE handling to a its own file, adjust wording 2017-02-22 16:42:14 +00:00
Luke Barnard
816e0be3a0 Retry->Send anyway 2017-02-22 16:17:49 +00:00
Luke Barnard
799e5ee0e9 Less jargon 2017-02-22 14:40:07 +00:00
Luke Barnard
c13ff254b1 Add "Retry" button to UDE 2017-02-22 10:21:43 +00:00
Luke Barnard
878e31eba2 Show UDDialog on m.call.invite failure
Requires https://github.com/matrix-org/matrix-js-sdk/pull/378

Also, refactored UDDialog creation into its own dispatch event, because there will be other parts of the code that will want to spawn one.
2017-02-21 17:22:22 +00:00
Luke Barnard
fd146a732b Clarify non-e2e vs. e2e /w composers placeholder
For E2E rooms, display "Send an encrypted message…" otherwise display "Send a plaintext message…" as the placeholder for the input box in [old] message composer.
2017-02-21 15:33:44 +00:00
Matthew Hodgson
629f8caad7 oops, remove unneeded import 2017-02-21 09:50:10 +00:00
Matthew Hodgson
6af0b9618a first cut of improving UX for deleting devices.
This adds a 5 minute auth cache to speed up the process of deleting
old devices.  It has the following nastinesses (mainly due to being
written on a flight whilst juggling kids):
 * the auth cache is done as context attached to MatrixChat.
   one could argue that it should be per-client instead, but we don't
   yet have multiple clients.
 * the auth cache is only maintained currently in DevicesPanelEntry
   (i.e. set & invalidated).  One could argue that it might be better
   maintained in InteractiveAuth.js or a dedicated cache object
   abstraction, but given the only use I can think of is when managing
   devices, perhaps this is good enough for now.
2017-02-21 00:19:49 +00:00
Luke Barnard
6fead66f89 MELS: check scroll on load + use mels-1,-2,... key
To fix https://github.com/vector-im/riot-web/issues/2916, force the checking of scroll position by calling _onWidgetLoad (might need renaming...) when a MELS is expanded/contracted.

Also use an keying scheme for MELS that doesn't depend on the events contained, but rather a simple incrementing index based on the order of the MELS as it appears amongst all MELS.
2017-02-20 10:59:11 +00:00
Matthew Hodgson
5ac76acc05 limit avatar uploads to images 2017-02-19 02:07:08 +02:00
David Baker
db4b9691cc Support reasons for kick / ban
Don't ban me for fun, girl
Let me be the one, girl
Ban me for a reason
Let the reason be love.
2017-02-17 17:27:46 +00:00
David Baker
b18473ccb2 Handle there being no member event when banned
Here, and also in MemberEventListSummary where this also broke.
2017-02-17 16:35:18 +00:00
David Baker
1f5fdf7945 Get a member object, not the user object 2017-02-17 16:14:51 +00:00
David Baker
a3aea6ba2d Swap rejoin / forget 2017-02-17 16:11:20 +00:00
David Baker
9f9de46b10 Add onForgetClick proptype 2017-02-17 16:09:25 +00: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
Richard van der Hoff
97722af3d6 Merge pull request #698 from matrix-org/dbkr/add_unban_button
Add a button to un-ban users in RoomSettings
2017-02-17 12:46:00 +00:00
Richard van der Hoff
bdb8f9d052 Don't force-logout the user if reading localstorage fails
Give them a modal dialog to give them a chance to abort.
2017-02-15 19:33:39 +00:00
David Baker
8698d40d3c Fix docs & add MatrixClient check
Addresses PR feedback without breaking RoomSettings
2017-02-15 19:01:00 +00:00
David Baker
a5a056292d Revert c082827fc7
Revert the WithMatrixClient change: RoomView calls methods on
the RoomSettings component and this breaks when RoomSettings is
wrapped in a WithMatrixClient.
2017-02-15 18:58:59 +00:00
David Baker
c082827fc7 Fix docs & use WithMatrixClient 2017-02-15 17:58:50 +00:00
Richard van der Hoff
42bb26925d Merge branch 'develop' into dbkr/add_unban_button 2017-02-15 13:19:22 +00:00
Richard van der Hoff
a5325ee14a Merge pull request #697 from matrix-org/dbkr/missed_accessiblebuttons
Convert some missed buttons to AccessibleButton
2017-02-15 13:10:14 +00:00
David Baker
431e7a875d Copyright 2017-02-14 18:10:40 +00:00
David Baker
1e1ae5c950 Merge pull request #696 from matrix-org/dbkr/ban_becomes_unban
Make ban either ban or unban
2017-02-14 18:00:15 +00:00
David Baker
87516fb950 Add a button to un-ban users in RoomSettings
https://github.com/vector-im/riot-web/issues/3091
2017-02-14 17:54:57 +00:00
David Baker
e1cb34e255 Merge remote-tracking branch 'origin/develop' into dbkr/missed_accessiblebuttons 2017-02-14 17:45:30 +00:00
David Baker
973b92b8f6 Merge pull request #694 from matrix-org/dbkr/confirm_ban
Add confirmation dialog to kick/ban buttons
2017-02-14 17:31:51 +00:00