Commit Graph

1482 Commits (aa7ddfe86ebc076f0dc8c6b324a94f2271bc5427)

Author SHA1 Message Date
David Baker b677a2002f Minimal UI fixes
Add a label. Make css selector match style. Also fix import.
2017-05-24 14:36:14 +01:00
David Baker aef068b00e Indenting 2017-05-24 14:28:30 +01:00
David Baker f412552c2c Fix imports/exports 2017-05-23 18:32:45 +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
David Baker 46bb29a3af Merge pull request #910 from matrix-org/t3chguy/version_anchor_newtab
Make the linked versions open a new tab, turt2live complained :P
2017-05-23 13:51:40 +01:00
Michael Telatynski a10c2faac1 lets not open an attack vector :)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-23 13:12:21 +01:00
Luke Barnard b0a824c941 Remove double declaration of TextInputDialog 2017-05-22 16:28:23 +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
Richard van der Hoff fc08dc33c6 Group e2e keys into blocks of 4 characters
Hopefully this will make them a bit easier to compare.
2017-05-22 12:01:09 +01:00
Kieran Gould 47e5e8d678 Moved isTwelveHour alllll the way up to TimelinePanel. 2017-05-19 23:04:37 +01:00
Maxwell Kepler 008cc95e9c Add 12 hour support 2017-05-19 22:29:49 +01:00
Michael Telatynski cc3673d2d2 Make the linked versions open a new tab, turt2live complained :P
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 17:39:21 +01:00
Richard van der Hoff e3dbf057fb Fix 'missing page_type' error
LoggedInView will complain if it is instantiated without a page_type, so let's
keep showing the syncing spinner until we have one.
2017-05-19 14:09:20 +01:00
Richard van der Hoff c61294f71c Delintify some of MatrixChat (#907)
... it annoyed me too much.
2017-05-19 13:53:11 +01:00
Luke Barnard 2bec44a517 Remove suffix and prefix from login input username
This is an attempt reduce confusion when entering a custom home server: https://github.com/vector-im/riot-web/issues/3736
2017-05-19 10:03:51 +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
Michael Telatynski 0e7e4d8595 replace weird sidebar snapping with better ui_opacity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:20:32 +01:00
Luke Barnard e38437e6ce Invite the welcome user after registration if configured
This will shift focus to the welcome user DM.

We probably don't want to do this for teams, but I shall leave that for another PR that fixes teams WRT to new-guest-access.
2017-05-18 11:14:56 +01:00
Luke Barnard e1089574ae Write some tests for the RTS UI
Add tests that make assertions about the UI during registration when registration is done with a user recognised as a team member (by the mock rtsClient).
2017-05-17 09:46:17 +01:00
David Baker 75eea89c08 Revert "Merge pull request #765 from t3chguy/t3chguy/escape-closes-user-settings"
This reverts commit a29d8c2af2, reversing
changes made to 1d836c7d02.
2017-05-16 16:12:57 +01:00
David Baker ebfafb3639 Revert "Merge pull request #807 from matrix-org/matthew/quick-search"
This reverts commit 0ad1d8caf3, reversing
changes made to 1189368aab.
2017-05-16 16:11:01 +01:00
Luke Barnard c6350379dc Merge pull request #881 from matrix-org/luke/user-settings-remove-current-password
Remove "Current Password" input if mx_pass exists
2017-05-16 12:29:23 +01:00
Luke Barnard eb36e979c2 Reference store token, call .remove on it on unmount 2017-05-16 11:52:51 +01:00
Luke Barnard d7eec27c4b Merge pull request #889 from matrix-org/luke/new-guest-access-need-to-set-mx-id
Replace NeedToRegisterDialog /w SetMxIdDialog
2017-05-15 18:36:20 +01:00
Luke Barnard f199f3599e Replace NeedToRegisterDialog /w SetMxIdDialog
This uses MatrixChat's `view_set_mxid`
2017-05-15 17:31:26 +01:00
Luke Barnard 269fd51130 Remove SessionStore listener on unmount 2017-05-15 17:17:32 +01:00
Luke Barnard eb0041d21a Remove redundant state 2017-05-15 17:03:54 +01:00
Luke Barnard f73cf772fb Move sessionStore ref from MatrixChat to LoggedInView
MatrixChat didn't actually use the sessionStore, so this is one less prop to pass.
2017-05-15 14:56:05 +01:00
Luke Barnard da3cb0ee48 SessionStore extends flux.Store 2017-05-15 14:52:19 +01:00
Michael Telatynski 8715b5233c link to #/register
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-15 10:31:17 +01:00
Michael Telatynski 83cb1e6e29 tell guests they can't use filepanel until they register
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-15 10:15:35 +01:00
Matthew Hodgson 317e24852d explicitly label email & phone add sections; fixes https://github.com/vector-im/riot-web/issues/3531 2017-05-15 03:03:17 +01:00
Matthew Hodgson 7d8c104cb8 Merge pull request #884 from matrix-org/t3chguy/tiny_usersettings_fixes
I broke UserSettings for webpack-dev-server
2017-05-15 01:57:45 +01:00
Matthew Hodgson 7f78e737eb Merge pull request #880 from matrix-org/t3chguy/fixRoomHeaderPreviewing
various fixes to RoomHeader
2017-05-15 01:52:42 +01:00
Matthew Hodgson 38cb123506 Merge pull request #883 from matrix-org/t3chguy/file_panel_fixes
show error if we can't set a filter because no room
2017-05-15 00:19:45 +01:00
Michael Telatynski 6ec799a028 I broke UserSettings for webpack-dev-server
where version file doesn't exist, version starts as null
then gets set to undefined by the promise
this wasn't handled and now undefined is understood to be unknown
rather than null

also picked up on a small casing error
threePids vs threepids, most things using the latter apart from the init

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 15:04:20 +01:00
Michael Telatynski 29568feb95 show error if we can't set a filter
this way it still works for a room we've been in before

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-12 22:38:57 +01:00
Luke Barnard 683f1b8a1a Invite the welcome user after registration if configured
This will shift focus to the welcome user DM.

We probably don't want to do this for teams, but I shall leave that for another PR that fixes teams WRT to new-guest-access.
2017-05-12 17:39:38 +01:00
Luke Barnard 536724e7c5 ES6 SessionStore 2017-05-12 15:58:44 +01:00
Luke Barnard 5c8187dc8f Explicitly pass thru userHasGeneratedPassword 2017-05-12 15:47:37 +01:00
Luke Barnard 1176573f39 Implement SessionStore
This wraps session-related state into a basic flux store. The localStorage item 'mx_pass' is the only thing managed by this store for now but it could easily be extended to track other items (like the teamToken which is passed around through props a lot)
2017-05-12 12:02:45 +01:00
Luke Barnard 8725ef3863 Remove "Current Password" input if mx_pass exists
If the user is PWLU, do not show "Current Password" field in ChangePassword and when setting a new password, use the cached password.
2017-05-11 17:47:45 +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 cfa108a28c No need to dispatch, just call setMxId 2017-05-11 17:07:03 +01:00
Luke Barnard 6326a95b39 Prevent ROUs from creating new chats/new rooms
Spawn a SetMxIdDialog instead and do nothing.
2017-05-11 17:04:11 +01:00
Luke Barnard 2437eb7910 Merge pull request #874 from matrix-org/luke/fix-rm-not-updating
Fix RM not updating if RR event unpaginated
2017-05-11 15:54:49 +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 852e1eb720 Rename some variables
`ReadUpTo` -> `RR`
`ReadReceipt` -> `RR`
`ReadMarker` -> `RM`
2017-05-11 09:31:59 +01:00
Luke Barnard 3815ad6cd0 Sent -> Event 2017-05-11 09:20:34 +01:00
Luke Barnard 856ef58d46 fix commen 2017-05-10 14:55:58 +01:00
Luke Barnard fe8ea4ffe7 Rename vars, linting 2017-05-10 14:51:47 +01:00
Luke Barnard 30e183a7f1 Only send RR if we should 2017-05-10 14:48:01 +01:00
Luke Barnard 7f766d89c3 Rename variables, more comments 2017-05-10 14:42:06 +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 ca79d9bb6e Separate predicates for RM/RR
Instead of modifying the condition for updating the RR, separate the RM and RR conditions and use an OR to decide when to set both.

Make some logs only log when DEBUG.
2017-05-09 17:36:19 +01:00
Luke Barnard ac25fd6d87 Remove log 2017-05-09 10:16:37 +01:00
Luke Barnard 488fa3745b Fix RM not updating if RR event unpaginated
If the RR event has been unpaginated, the logic in `sendReadReceipt` will now fallback on the event ID of the RM which in theory is always =< RR event ID stream-wise.
2017-05-09 10:03:40 +01:00
David Baker 85ed39b9d8 Put room name in 'leave room' confirmation dialog
https://github.com/vector-im/riot-web/issues/3850
2017-05-08 16:49:40 +01:00
Matthew Hodgson 5900c879ce Merge pull request #851 from t3chguy/warn_on_unload
Warn on unload
2017-05-07 18:17:18 +01:00
Michael Telatynski b944fff5c5 unscrew merge 2017-05-05 20:57:18 +01:00
Michael Telatynski 110ca22c4c Merge branch 'develop' into webrtc_settings 2017-05-05 20:56:20 +01:00
Luke Barnard 6f4eb9d8b1 Show password nag bar when user is PWLU 2017-05-05 16:31:33 +01:00
David Baker e00605571b Fix the spinner to actually appear
We started with clientSyncState being null, which it remained
until the SYNCING event was emitted. We need to set
clientSyncState's initial value correctly.
2017-05-05 10:48:54 +01:00
Luke Barnard 8e3851b380 Merge pull request #860 from t3chguy/patch-4
Guests can't send RR so no point trying
2017-05-04 17:53:59 +01:00
Michael Telatynski f76b9b4489 remove link to issue
not very useful
2017-05-04 17:25:23 +01:00
Luke Barnard 7918ff2fc2 Merge pull request #857 from t3chguy/t3chguy/settings_versions_improvements
T3chguy/settings versions improvements
2017-05-04 16:56:45 +01:00
Michael Telatynski da4c2f8b31 Guests can't send RR
so they shouldn't try
lets not hit the HS quite as much
2017-05-04 16:42:41 +01:00
Michael Telatynski 3c6e301f7f Improve regex to ignore trailing -dirty and for rc tags
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-04 16:22:39 +01:00
Michael Telatynski 2edfc3e598 remove commented out code as per review
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-04 15:51:31 +01:00
Michael Telatynski cb478f1194 no idea why those got in there...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-04 15:50:52 +01:00
Luke Barnard 694fc26a55 Merge pull request #855 from matrix-org/luke/fix-jump-to-rm-in-mels
Fix jumping to an unread event when in MELS
2017-05-04 13:03:30 +01:00
Luke Barnard 6d9a1f047d Typo 2017-05-04 13:03:04 +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 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 356d29939c also warn when quitting mid-call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-03 16:25:27 +01:00
Michael Telatynski 74b2c86f93 tidy up UserSettings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-02 21:17:12 +01:00
Michael Telatynski 76e98d4267 improve version hyperlinking
removed redundant v prefix (key already says version)
links to most applicable version/tag
tag-commit -> commit
commit1-commit2-commit3 -> commit1
(v)x.y.z -> tag<x.y.z>
commit -> commit

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-02 21:12:58 +01:00
Luke Barnard af137f8867 Validate phone number on login
To prevent confusion when accidently inputting mxid or email. Fixes https://github.com/vector-im/riot-web/issues/3637
2017-05-02 18:30:46 +01:00
Luke Barnard 4febc63aee Add comment to _scrollToToken 2017-05-02 17:41:09 +01:00
Luke Barnard fe83a99ab7 Update ScrollPanel docs 2017-05-02 17:36:59 +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
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
Michael Telatynski c6262d62a6 webrtc config electron
init on LoggedInView mounting
configurable via UserSettings
new class: CallMediaHandler

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-28 18:21:22 +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
David Baker b91f53652d Merge pull request #848 from matrix-org/luke/room-directory-improve
Improve RoomDirectory Look & Feel
2017-04-27 18:28:28 +01:00
Luke Barnard 791f7f7f6b Merge branch 'luke/room-directory-remove-rhs' into luke/room-directory-improve 2017-04-27 17:57:19 +01:00
Luke Barnard 9d57e8b959 Merge pull request #845 from matrix-org/luke/rm-fix
Only show jumpToReadMarker bar when RM !== RR
2017-04-27 17:01:39 +01:00
Luke Barnard 6313193aa8 Null check readMarkerEventId, update comment 2017-04-27 16:52:40 +01:00
Luke Barnard 50831796bb Remove RHS when viewing RoomDirectory 2017-04-27 16:49:23 +01:00
Luke Barnard 2012513c0e Allow MELS to have its own RM
This inserts a RM if any of the events in a MELS if the RM is tracking an event within it.

Fixes https://github.com/vector-im/riot-web/issues/3749
2017-04-27 14:16:50 +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
David Baker 4910a225d1 Fix spinner that shows until the first sync
Listen for the sync event and update when it changes
2017-04-26 17:26:53 +01:00
Luke Barnard 9ac06d4c79 Merge pull request #839 from matrix-org/dbkr/spinner_until_sync
Show spinner until first sync has completed
2017-04-26 14:34:08 +01:00
David Baker df283dae47 Show spinner until first sync has completed
Shows the 'forward paginating' spinner until the first sync has
completed.

Fixes https://github.com/vector-im/riot-web/issues/3318
2017-04-26 14:05:09 +01:00
David Baker 04f44e9201 Style fixes for LoggedInView
PRing this becaise I was going to change LoggedInView, so did
some code style updates, but then decided the do the change
elsewhere.
2017-04-26 13:48:03 +01:00
David Baker fa9c2d1373 Fix specifying custom server for registration
Broken by 9cd7914ea5
(ServerConfig interface changed but Registration not updated)
2017-04-25 19:21:09 +01:00
Luke Barnard 96e7479d8b Show "jump to message" when message is not paginated 2017-04-25 17:19:36 +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
Michael Telatynski 3997974f0f remove debug console log (ignore its content pls)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:16:15 +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 4cf9e0c1ae Create a way to restore last state of the rhs panel.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:00:59 +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
Richard van der Hoff 96e733b487 Merge pull request #825 from matrix-org/matthew/missing-keyboard-modifiers
limit our keyboard shortcut modifiers correctly
2017-04-23 12:02:29 +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 7854cac61d hook up keyb shortcuts for roomdir 2017-04-23 01:00:44 +01:00
Matthew Hodgson fa033e6116 limit our keyboard shortcut modifiers correctly
fixes https://github.com/vector-im/riot-web/issues/3614
2017-04-23 00:49:14 +01:00
Matthew Hodgson e18e965eb8 missing key attr 2017-04-22 16:26:39 +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
Matthew Hodgson 6c177bc617 Merge pull request #806 from t3chguy/t3chguy/show_access_token
Show Access Token under Advanced in Settings
2017-04-22 02:51:54 +01:00
Matthew Hodgson ad76dd0dd1 Merge pull request #810 from t3chguy/t3chguy/settings_versions_improvements
Link tags/commit hashes in the UserSettings version section
2017-04-22 02:38:30 +01:00
Matthew Hodgson febd9c637e Merge pull request #813 from t3chguy/RoomSettings_close_focus_composer
On return to RoomView from auxPanel, send focus back to Composer
2017-04-22 02:08:48 +01:00
Matthew Hodgson 872d0e0f50 Merge branch 'develop' into travis/hide-read-receipts 2017-04-22 01:36:38 +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
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
Luke Barnard ae8d04b35d Merge pull request #805 from matrix-org/luke/feature-read-marker
Sync RM across instances of Riot
2017-04-21 16:52:46 +01:00
Luke Barnard 29c2bd3d18 reset last_rr_sent on error
Indicate that setting the RR was a failure and that hitting the API should be retried (in the case where the errcode !== "M_UNRECOGNISED")
2017-04-21 16:46:36 +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 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
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
Michael Telatynski bbd1f34336 Prepend REACT_SDK_VERSION with a v to match riot-web version output
Add simple helper to construct version/commit hash urls
var -> let/const and prepend olmVersionString with v for same reason

for both matrix-react-sdk and riot-web, if unknown/local don't do anything
else try to create a link to the commit hash/tag name

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 03:04:34 +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
Luke Barnard 67089cb527 If new RR-RM API not implemented, fallback to RR-only API 2017-04-20 14:34:59 +01:00
Luke Barnard a4ba5f041c Remove log, reinstate comment 2017-04-19 10:46:08 +01:00
Luke Barnard edeaef8c2f Initialise last_rm_sent_event_id 2017-04-19 10:28:38 +01:00
Luke Barnard 81bf2be13b Make note of inconsistant roomReadMarkerTsMap
This will become redundant when there is server support for directionality of the RM
2017-04-19 10:27:43 +01:00
Luke Barnard a787ee8480 Remove spammy log 2017-04-19 10:20:53 +01:00
Luke Barnard 00cf5b5918 Revert change 2017-04-19 10:20:24 +01:00
Luke Barnard e32f153573 Remove Room.accountData listener on unmount 2017-04-19 10:18:25 +01:00
Luke Barnard 28818b857a Remove log 2017-04-19 10:17:44 +01:00
Luke Barnard 81bdfe2126 Update to match renamed API 2017-04-19 10:14:57 +01:00
Michael Telatynski 61071b89df Show Access Token under Advanced in Settings
behind a Spoiler, onClick = spoil+select

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-18 19:55:08 +01:00
Matthew Hodgson c1c3956df4 fix bugs, and handle shortcircuit react when updating roomtile 2017-04-18 19:28:24 +01:00
Luke Barnard c431c9ab22 Clarify comment 2017-04-18 15:18:21 +01:00
Luke Barnard d38520dfb4 Undo change in ghost RM logic
Put a XXX to indicate that the ghost tile should be replaced with something mor e stable. As it stands, the ghost will appear, potentially at a different position to the RMs actual position
2017-04-18 15:17:42 +01:00
Luke Barnard d33afa99ab marker -> event_id 2017-04-18 15:13:05 +01:00
Luke Barnard 4b5364e9ae Merge branch 'develop' into luke/feature-read-marker 2017-04-18 14:45:18 +01:00
Luke Barnard 28ed69b617 m.read_marker -> m.fully_read 2017-04-18 14:44:43 +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
Luke Barnard a29d8c2af2 Merge pull request #765 from t3chguy/t3chguy/escape-closes-user-settings
Escape closes UserSettings
2017-04-12 15:18:19 +01:00
Luke Barnard 9c9dc84f45 Remove redundant setting of readMarkerEventId 2017-04-12 15:12:37 +01:00
Luke Barnard 249e42747b Fix bug where `roomId` was expected to be a property on timelineSet 2017-04-12 15:09:56 +01:00
Luke Barnard 1c25ed89b0 Initial implementation of using new RM API
As detailed here https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit, the RM state is no longer kept locally, but rather server-side. The client now uses it's locally-calculated RM to update the server and receives server updates via the per-room account data.

The sending of the RR has been bundled in to reduce traffic when sending both. In effect, whenever a RR is sent the RM is sent with it but using the new API.

This uses a js-sdk change which has set to be finalised and so might change.
2017-04-12 15:05:39 +01:00
Luke Barnard 424aae6b91 Prevent the ghost and real RM tile from both appearing 2017-04-12 15:04:38 +01:00
David Baker d4dc16545a Fix people section vanishing on 'clear cache'
Stop the client first

Fixes https://github.com/vector-im/riot-web/issues/3610
2017-04-11 18:16:29 +01:00
David Baker 811cd79206 Make the clear cache button work on desktop
Fixes https://github.com/vector-im/riot-web/issues/3597
2017-04-10 17:39:27 +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
Richard van der Hoff 6352784a2c Merge pull request #795 from matrix-org/luke/fix-pagination3
Fix infinite pagination/glitches with pagination
2017-04-07 13:24:22 +01:00
Luke Barnard d218f90cde Fix infinite pagination/glitches with pagination
I think this was being caused by a bug introduced in 47f29b that meant that `backwards` was actually being used as `forwards`.
2017-04-07 11:34:31 +01:00
Luke Barnard a815788af8 Fix issue where teamTokenMap was ignored for guests
This was an issue because guests do not log in with a teamToken, it is implicitly set by MatrixChat when it mounts. The fix is to view_home_page when a login occurs and MatrixChat has this._teamToken set.
2017-04-06 17:10:32 +01:00
Luke Barnard 880a48494b Merge pull request #785 from matrix-org/luke/fix-scroll-past-big-event
Fix scroll token selection logic
2017-04-06 12:36:30 +01:00
Luke Barnard 5f8a7b46a8 Remove redundant setState call, always focus composer after sync 2017-04-06 11:44:25 +01:00
Luke Barnard 95b40a976c Replace sdkReady with firstSyncPromise, add mx_last_room_id
- Create a promise that will serve as a lock to be blocked on by things that need to wait for the first sync before accessing state.
- Use this promise to block `view_room` calls until a sync has occured instead of just dropping them silently if the sync hasn't happened yet.
- Store the current room ID in a localStorage item `mx_last_room_id` when `view_room` fires. This persists the last viewed room ID so that it can be restored on refresh, browser quit. This replaces the previous logic which set the room following a sync based on the most recent unread room.
2017-04-06 11:38:06 +01:00
Luke Barnard b0a04e6f00 Clarify comment 2017-04-05 17:52:05 +01:00
Luke Barnard 423babdb17 Remove fairly redundant condition
Making sure that a node is intersected by the bottom of the wrapper is a bit overkill, given that we iterate from the bottom. This also prevents the scenario of having no nodes that are not precisely intersected, but possibly straddling the bottom of the wrapper.
2017-04-05 17:51:07 +01:00
Luke Barnard 47f29b9454 Simplify simulated unfill 2017-04-05 17:48:24 +01:00
Luke Barnard 5737994957 Clarify and simplfiy unpagination logic 2017-04-04 13:28:26 +01:00
Luke Barnard 94fe9999db Reimplement _saveScrollState
The actual fix to https://github.com/vector-im/riot-web/issues/3175 is this change to `_saveScrollState`, which is to pick the trackedScrollToken based on which node is intersected by the bottom of the scroll panel. This is opposed to the previous logic that picked based on which node was the first from the bottom to be above the bottom of the viewport.

In the case where the viewport bottom does not intersect any events, the topmost event is used.
2017-04-04 11:55:53 +01:00
Luke Barnard 8e5a83a056 Reduce number of unpaginated events by 1
When unpaginating in the backwards direction
2017-03-30 18:02:33 +01:00
Luke Barnard fff83ba234 Fix the onFinished for timeline pos dialog
This was causing a blank RoomView because it was trying to work with `room_id = undefined`.
2017-03-30 17:18:22 +01:00
David Baker dff79984a6 Merge remote-tracking branch 'origin/develop' into dbkr/remove_session_load_error 2017-03-29 18:24:06 +01:00
David Baker 22b0f69ac9 Merge pull request #782 from matrix-org/dbkr/matrixchat_tidy
Use Login & Register via component interface
2017-03-29 18:23:36 +01:00
Luke Barnard 5a411ba005 Merge pull request #781 from matrix-org/luke/fix-flaky-tests-maybe
Attempt to fix the flakyness seen with tests
2017-03-29 17:32:56 +02:00
David Baker a6612bb8ad Remove non-functional session load error
MatrixChat was trying to display an error if the session failed to
restore, but it was never actually being shown because it was just
set as a member variable and therefore never actually caused
a re-render for the error to be displayed. Almost all errors are
caught by _restoreFromLocalStorage which displays the fancy dialog
if your session can't be restored, so I'm not convinced this ever
even tried to do anything anyway. Remove it.
2017-03-29 16:23:18 +01:00
David Baker cee2628b41 Use Login & Register via component interface
Login & Register were being imprted directly for some reason,
rather than going via the normal component interface.

Should be functionally identical.
2017-03-29 15:24:47 +01:00
Luke Barnard 2146e89c09 Attempt to fix the flakyness seen with tests
Specifically:
```

JS 2.1.1 (Linux 0.0.0) joining a room over federation should not get stuck at a spinner FAILED
	Did not find exactly one match (found: 0) for componentType:function (props, context, updater) {
```

actually meant that the room directory wasn't displayed - probably because the dispatch `view_room_directory` ended up on another tick of the event loop, meaning that the directory wasn't displayedi. The fix attempted in ths commit is to use `this._setPage` instead to view the directory. This uses `setState` to set the screen to the directory, so I'm not entirely convinced this will solve the problem (as `setState` may also end up doing things on another tick.

and

```
JS 2.1.1 (Linux 0.0.0) loading: MatrixClient rehydrated from stored credentials: shows a room view if we followed a room link FAILED
	MatrixChat still not ready after 5 tries
	awaitRoomView@/home/travis/build/vector-im/riot-web/test/all-tests.js:201363:90
```

was happening probably because in the handler for the `sync` event in `MatrixChat` (around line 840), there was one case in which the `ready` state may not be true (causing all 5 attempts to fail), and this case relied on `starting_room_alias_payload`. This `starting_room_alias_payload` is now redundant because of `initialScreenAfterLogin`, which was added recently.
2017-03-29 15:02:28 +01:00
David Baker 90242c2c85 Only send local echo RR if we're at the end 2017-03-29 14:12:50 +01:00
David Baker 3373f00d90 Only clear the local notification count if needed
Only zero the local notification count when we actually send a
read receipt, otherwise we cause a re-render of the RoomList every
time the user moves the cursor in the window, basically.
2017-03-29 14:08:31 +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
Luke Barnard ffd8ef84d6 Fix VOIP bar hidden on first render of RoomStatusBar
componentDidUpdate is not called for the initial render of a React component (https://facebook.github.io/react/docs/react-component.html#componentdidupdate)

componentWillMount is used so that the initial state and props of RoomStatusBar can also trigger props.isVisible.

This fixes https://github.com/vector-im/riot-web/issues/3181
2017-03-28 09:30:41 +01:00
Luke Barnard c650cfffac logged_in -> loggedIn
Also added `loggingIn` to `initialState` and removed some commented code.
2017-03-27 17:14:39 +01:00
Luke Barnard 30c5af35e5 Add state loggingIn to MatrixChat to fix flashing login
To prevent the login screen from flashing when refreshing the app, use some state to indicate that a login is in progress, and OR that with the existing `loading` boolean to show the `<Spinner>` instead of the default `<Login>`.

This might be too invasive, and a default spinner may be better.
2017-03-27 16:39:04 +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
Kegsay 3d71cb8325 Merge pull request #768 from matrix-org/kegan/memleaks-are-bad-mkay
Add canResetTimeline callback and thread it through to TimelinePanel
2017-03-22 16:39:07 +00:00
David Baker 4cd24d15d4 Factor out AddPhoneNumber to a separate component 2017-03-22 15:18:27 +00:00
Kegan Dougal 4cebded04f Add canResetTimeline callback and thread it through to TimelinePanel 2017-03-22 15:06:52 +00:00
David Baker 6a37fc4325 Comment typos 2017-03-22 12:00:16 +00:00
David Baker 6a56828974 Just return the promise if it's a bg request
This makes the code a bit neater.
2017-03-22 11:25:33 +00:00
David Baker 5ae7d5e4b2 More comments 2017-03-22 11:13:00 +00:00
David Baker e5a5ca9efc Don't set busy state at all for background request 2017-03-22 10:53:15 +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 d5f7b3983b Merge remote-tracking branch 'origin/develop' into dbkr/add_msisdn 2017-03-21 13:44:55 +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
Michael Telatynski 69c3bd7f80 Escape closes UserSettings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-03-20 12:13:21 +00:00
David Baker 92d5f55a46 Merge remote-tracking branch 'origin/develop' into dbkr/threepid_display 2017-03-17 13:55:07 +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
David Baker b06111202d Display threepids slightly prettier
ie. Put a + on the front of msisdns.
2017-03-16 15:16:24 +00:00
David Baker af8c3edba6 Support adding phone numbers in UserSettings 2017-03-16 14:56:26 +00:00
Kegan Dougal 544a6593e1 Unregister the UploadBar event listener on unmount 2017-03-16 14:19:17 +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
David Baker 67757a16f3 Don't remove the line that gets the error message 2017-03-16 12:54:18 +00:00
David Baker d292a627d8 Handle no-auth-flow error from js-sdk 2017-03-15 16:44:56 +00:00
David Baker 648ad8d66c Merge pull request #753 from matrix-org/luke/fix-register-not-routing
Do routing to /register _onLoadCompleted
2017-03-15 13:18:34 +00:00
Luke Barnard 5330e47b3f Add null check 2017-03-15 13:05:03 +00:00
Luke Barnard 238e48e4af Do routing to /register _onLoadCompleted
_onLoadCompleted happens straight away because Lifecycle finishes loading the session instantly when registration parameters (client_secret etc.) are set.
2017-03-15 12:02:08 +00:00
Richard van der Hoff 3325dd6ede Merge pull request #747 from matrix-org/luke/increase-scrollback-window
Double UNPAGINATION_PADDING again
2017-03-15 11:46:34 +00:00
Luke Barnard 47958180a6 Add null check to start_login 2017-03-14 15:13:36 +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
Luke Barnard 17c9fcbb85 Merge branch 'develop' into luke/UDE-file-upload 2017-03-14 13:59:04 +00:00
David Baker 30b442515e Merge pull request #743 from matrix-org/luke/fix-screen-after-login
Decide on which screen to show after login in one place
2017-03-14 13:44:08 +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 d8a30aa848 Double UNPAGINATION_PADDING again 2017-03-13 13:48:15 +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
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
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 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
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 c4001b5c5d Use else instead of two returns 2017-03-08 15:11:38 +00:00
Luke Barnard eca82bdb42 Make sure the screen is set, otherwise ignore screenAfterLogin 2017-03-08 10:45:07 +00:00
Luke Barnard 06a05c351d Decide on which screen to show after login in one place
This follows from a small amount of refactoring done when RTS was introduced. Instead of setting the screen after sync, do it only after login.

This requires as-yet-to-be-PRd riot-web changes.

This includes:
 - initialScreenAfterLogin, which can be used to set the screen after login, and represents the screen that would be viewed if the window.location at the time of initialising Riot were routed.
 - guestCreds are now part of state, because otherwise they don't cause the login/registration views to update when set.
 - instead of worrying about races and using this._setPage, use a dispatch.
2017-03-08 10:25:54 +00:00
David Baker 341f978743 Fix the team server registration
Pass extra info from the UI auth process as a second parameter to
onAuthFinished. Allows the email sid & client secret to be used
outside of the UI auth process.
2017-03-06 17:31:21 +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
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 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
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
David Baker 8522231d4f Revery unintentional change
to when teamToken was returned
2017-03-03 10:28:10 +00:00
David Baker 9c6782af6f Oops, lost trackPromise 2017-03-02 15:08:15 +00:00
David Baker 91ef26a7f8 makeRegistrationUrl is required 2017-03-02 15:04:10 +00:00
David Baker 51b2001f70 Remove todo which is now done! 2017-03-02 15:03:24 +00:00
David Baker 0914226327 Actuall pass our proxy makeRegistrationUrl 2017-03-02 14:47:47 +00:00
David Baker 3028b335a4 Oops, re-add referrer param
as Registration was still using it
2017-03-02 14:46:18 +00:00
David Baker dd762cc835 Add makeRegistrationUrl to proptypes 2017-03-02 14:40:55 +00:00
David Baker a5cf3a964b doc 2017-03-02 14:39:25 +00:00
David Baker 770c1ce11f Remove redundant prop 2017-03-02 14:35:08 +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
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 9c5fb00da4 Fix syntax 2017-03-01 18:33:45 +00:00
David Baker ef5d2bca91 Get errorText from error in stageUpdated 2017-03-01 16:59:25 +00:00
David Baker c9ef879afa PR feedback: Move the email token request here 2017-03-01 16:04: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