Commit graph

2961 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
4342a2ad47 Merge pull request #793 from matrix-org/luke/fix-guest-team-token-home-page
Fix issue where teamTokenMap was ignored for guests
2017-04-07 11:53:00 +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
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
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
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
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
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
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
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
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
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
e1b7347810 Merge pull request #774 from matrix-org/luke/fix-voip-bar-hidden
Fix VOIP bar hidden on first render of RoomStatusBar
2017-03-28 10:03:21 +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
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
Luke Barnard
aa486b605d Merge pull request #773 from matrix-org/luke/fix-login-flash-new-state
Add state loggingIn to MatrixChat to fix flashing login
2017-03-27 18:24:49 +02: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
Luke Barnard
c650cfffac logged_in -> loggedIn
Also added `loggingIn` to `initialState` and removed some commented code.
2017-03-27 17:14:39 +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
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
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
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
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
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
David Baker
9ccda7ed81 Merge remote-tracking branch 'origin/develop' into dbkr/threepid_display 2017-03-21 11:11:45 +00:00
Michael Telatynski
69c3bd7f80 Escape closes UserSettings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-03-20 12:13:21 +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
David Baker
92d5f55a46 Merge remote-tracking branch 'origin/develop' into dbkr/threepid_display 2017-03-17 13:55:07 +00: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
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
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
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
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
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
David Baker
0e95926925 Merge pull request #748 from matrix-org/luke/logout-after-deactivate
Fix import for Lifecycle
2017-03-14 14:13:08 +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
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
Luke Barnard
d8a30aa848 Double UNPAGINATION_PADDING again 2017-03-13 13:48:15 +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
71e0780eee beautify search fail error 2017-03-12 22:24:16 +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
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
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
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
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
David Baker
65ce8c2113 Merge pull request #741 from matrix-org/dbkr/fix_teamserver_2
Fix the team server registration
2017-03-06 17:57:42 +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
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
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
David Baker
8522231d4f Revery unintentional change
to when teamToken was returned
2017-03-03 10:28:10 +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
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
518a749d90 Add proptypes / isRequired 2017-03-02 14:36:54 +00:00
David Baker
770c1ce11f Remove redundant prop 2017-03-02 14:35:08 +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
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
Luke Barnard
39427839b9 Use ES6 export style 2017-03-01 14:33:25 +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
Luke Barnard
f85c452e35 Merge pull request #726 from matrix-org/luke/rts-set-team-token-on-login
Notify MatrixChat of teamToken after login
2017-02-28 15:57:22 +00:00
Luke Barnard
0ef8e2a8f4 Various fixes 2017-02-28 15:18:00 +00:00
Luke Barnard
48a3d0d595 Refactor to not set team token in bad ways
Use the on_logged_in dispatch instead. Call setPage in one place, _onLoggedIn, when deciding which page to view on login. Change some require to import, var to const. Remove onTeamMemberRegistered and just use a nullable argument to onRegistered
2017-02-28 15:05:49 +00:00
Will Hunt
1995c16013 Add a user option to enable autoplaying gifs and videos. 2017-02-27 22:17:43 +00:00
Will Hunt
4509901592 image (gifs) and video messages will autoplay if enabled. 2017-02-27 22:16:56 +00:00
David Baker
c22db1db5f Fix race when signup is completed elsewhere
as commented
2017-02-27 18:22:26 +00:00
David Baker
e5853a6571 Put back server picker for registration
* Also fix bug where you couldn't picxk a different server if
   you were already registered as a guest (because it still sent
   the access token which the new server rejected)
 * Propagate errors from UI auth back to registration so it goes
   back to the registration screen
2017-02-27 17:24:28 +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
e1a40a8ef0 Notify MatrixChat of teamToken after login 2017-02-23 16:30:26 +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
fd3c1ab9e1 Merge pull request #718 from matrix-org/luke/ignore-no-tile-events
Do not push a dummy element with a scroll token for invisible events
2017-02-23 10:17:16 +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
David Baker
0a76e0f621 Merge pull request #723 from matrix-org/luke/fix-e2e-input-placeholder
Fix message composer placeholders
2017-02-23 10:09:07 +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
f92708fbe6 In practice the MELS-1,2,3 solves nothing, revert it 2017-02-22 16:54:32 +00:00
Luke Barnard
436e6b36f1 Move UDE handling to a its own file, adjust wording 2017-02-22 16:42:14 +00:00
David Baker
2b91b0d9c4 Merge pull request #720 from matrix-org/luke/clarify-e2e-input-box
Clarify non-e2e vs. e2e /w composers placeholder
2017-02-22 16:20:26 +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
f230b0a3c0 Fix status bar expanded on tab-complete
This had regressed when `_getSize` was introduced. It didn't consider tab completing.
2017-02-22 14:03:30 +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
Luke Barnard
581c8c138e Do not push a dummy element with a scroll token for invisible events
If an event does not `wantTile`, do not add a dummy element with a scroll token, as this can be unperformant with 1000s of events.
2017-02-21 15:01:18 +00:00
Luke Barnard
995e59b973 Merge pull request #716 from matrix-org/luke/feature-default-hs
Allow setting the default HS from the query parameter
2017-02-21 14:43:36 +00:00
Matthew Hodgson
629f8caad7 oops, remove unneeded import 2017-02-21 09:50:10 +00:00
Matthew Hodgson
aabf9255d2 anchor the authcache on LoggedInView to prevent it persisting over logouts 2017-02-21 01:03:22 +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
9eef3c53a3 Allow setting the default HS from the query parameter
Fixes https://github.com/vector-im/riot-web/issues/3207
2017-02-20 16:53:26 +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
8990e770b7 fix colouring in voip dark theme 2017-02-20 01:43:55 +02: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
10534e7df4 Merge pull request #709 from matrix-org/dbkr/show_when_banned
Show when you've been kicked or banned
2017-02-17 16:48:59 +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
Kegsay
5abcb91e0d Merge pull request #708 from matrix-org/kegan/clear-cache
Add a 'Clear Cache' button
2017-02-17 15:51:08 +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
Kegan Dougal
8d6c3cd3f4 Review comments 2017-02-17 15:37:49 +00:00
Kegan Dougal
0a31efa0b7 Add a 'Clear Cache' button
This deletes the IndexedDB database and reloads the page.

This solely exists as a get-out clause for users in case the indexedDB instance
gets corrupted. Hopefully we won't ever need to point users to it.
2017-02-17 15:16:28 +00:00
David Baker
a3746ea1b6 Merge remote-tracking branch 'origin/develop' into dbkr/update_on_room_name 2017-02-17 14:41:54 +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
David Baker
b2344ceb74 Update the room view on room name change 2017-02-17 11:44:56 +00:00
David Baker
4753552ddc Merge pull request #706 from matrix-org/luke/fix-team-token-referral-link
Make UserSettings use the right teamToken
2017-02-16 18:12:46 +00:00
Luke Barnard
406c34b715 Make UserSettings use the right teamToken
This threads the correct teamToken through to UserSettings for generating the referral section.
2017-02-16 18:00:52 +00:00
Luke Barnard
9d2bb70823 If the home page is somehow accessed, goto directory
For example, if someone ends up on /home somehow, just redirect to the directory instead of displaying a very awkward "File not found" plain text in the home page iFrame.
2017-02-16 17:03:22 +00:00
Luke Barnard
6945e7c154 Merge pull request #699 from matrix-org/luke/fix-avatar-initials
Display avatar initials in typing notifications
2017-02-16 14:06:05 +00:00
Luke Barnard
74487c655d If a referrer hasn't been specified, use empty string
This is interpretted by the RTS as a non-referred team member who still needs the team token to access their welcome page etc.
2017-02-16 09:22:44 +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
Luke Barnard
8067bb627f Display avatar initials in typing notifications
It seems they don't overlap hawkwawdly anymore, so this displays them always.

Fixes https://github.com/vector-im/riot-web/issues/3084
2017-02-15 16:29:08 +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
David Baker
6fc70415cb s/onBan/onBanOrUnban/ 2017-02-14 17:29:40 +00:00
Luke Barnard
3d4a831624 Merge pull request #695 from matrix-org/luke/fix-scalar-popup
Fix typo with Scalar popup
2017-02-14 17:13:55 +00:00
David Baker
f38b2dee78 Convert some missed buttons to AccessibleButton
In RoomSettings
2017-02-14 17:06:16 +00:00
David Baker
6663f5bff0 Remove commented stuff
That I've now broken such that it wouldnt work if it were
uncommented
2017-02-14 16:12:04 +00:00
David Baker
ec0ce76d87 Clarify docs 2017-02-14 16:09:02 +00:00
David Baker
a1c990a2ea Make ban either ban or unban
depending on whether the user is banned already

Mostly gives some feedback that the ban has actually taken effect.
2017-02-14 16:03:30 +00:00
Luke Barnard
0303a42fc7 Fix typo with Scalar popup 2017-02-14 15:35:14 +00:00
David Baker
5e232d8500 Argh, ES6 import syntax 2017-02-14 14:33:21 +00:00
David Baker
ff61b76bf7 Fix imports 2017-02-14 13:58:29 +00:00
David Baker
689972f023 Copyright 2017-02-14 13:57:22 +00:00
David Baker
8001c0b16b Add confirmation dialog to kick/ban buttons
Add a specific dialog used for confirming member actions.

Also remove onFinished from MemberInfo which did absolutely
nothing.
2017-02-14 13:40:19 +00:00
Luke Barnard
1b8e93d4f2 Treat the literal team token string "undefined" as undefined
Some users appear to have gotten team tokens into their local storage. This fix will treat the literal string "undefined" as undefined.
2017-02-14 12:56:29 +00:00
David Baker
17b08aedfc Merge pull request #691 from matrix-org/dbkr/interactive_auth_nondialog
Split out InterActiveAuthDialog
2017-02-14 10:55:12 +00:00
David Baker
43a740df15 Add busy param to docs 2017-02-14 10:34:43 +00:00
David Baker
ba3e62e395 Remove old docs 2017-02-14 10:31:56 +00:00
David Baker
18cba1fe45 Merge pull request #689 from matrix-org/luke/rts-set-team-token-view-home
View /home on registered /w team
2017-02-14 10:21:23 +00:00
David Baker
36d126f3a9 PR feedback 2017-02-13 19:09:43 +00:00
David Baker
8fc3104507 Replace submit button with a spinner when busy
and update test accordingly
2017-02-13 18:52:33 +00:00
David Baker
77b226631a Copyright 2017-02-13 16:15:00 +00:00
David Baker
79d9deb339 Split out InterActiveAuthDialog
Into a component that does Interactive Auth and a dialog that
wraps it, so we can do interactive auth not necessarily in a
dialog.

As a side effect:
 * Put the buttons for each auth stage in the stage itself.
   Some stages don't have submit buttons (and it's very possible
   other stages may have other buttons entirely, like 'resend')
   so it makes more sense for the buttons to live in the stage
   components themselves. Plus it saves the slightly evil
   calling-functions-on-react-children thing we were doing (and
   indeed extending that to show the submit button at all).
 * Give all BaseDialogs a cross in the top right to cancel. They
   were all dismissable by clicking outside or pressing esc, so
   this adds a more visually obvious way of dismissing them. Plus,
   it means our InteractiveAuthDialog can have a way of canceling
   the whole operation separate from buttons for the individual
   stages.
2017-02-13 16:03:21 +00:00
Luke Barnard
16e3365240 Use a callback prop instead of window. 2017-02-13 14:36:35 +00:00
Luke Barnard
a21e71f59d Merge pull request #688 from matrix-org/luke/rts-use-sid-client-secret
Instead of sending userId, userEmail, send sid, client_secret
2017-02-13 13:49:23 +00:00
David Baker
b45da45457 Merge pull request #686 from matrix-org/luke/rts-enable-branded-urls
Enable branded URLs again by parsing the path client-side
2017-02-13 13:38:55 +00:00
Luke Barnard
75deb55844 Null check on teamName 2017-02-13 11:48:03 +00:00
Luke Barnard
4ac769168a View /home on registered /w team 2017-02-10 17:17:58 +00:00
Luke Barnard
29f5e88f6a Instead of sending userId, userEmail, send sid, client_secret
This has the benefit of being possible from the _second_ riot instance, which may not actually have the email of the user registering. With these parameters, the RTS can get the email and user ID itself.

(see https://github.com/matrix-org/riot-team-server/pull/15)
2017-02-10 16:50:25 +00:00
David Baker
33fc4f7d8d Merge pull request #680 from matrix-org/luke/rts-fix-reg-icon
Use new method of getting team icon
2017-02-10 16:39:11 +00:00
Luke Barnard
bdd031eac2 Enable branded URLs again by parsing the path client-side
Use the first path segment to key off config.teamTokenMap, which contains a mapping to teamTokens. The client then behaves as before, keeping the path in the address bar constant with no redirects required.
2017-02-10 15:09:45 +00:00
Luke Barnard
ec730056d8 Alter comment 2017-02-10 11:39:22 +00:00
Luke Barnard
bab6a0b84a Persist query parameter team token across refreshes 2017-02-10 11:31:04 +00:00
Luke Barnard
45f5b8b3a9 Thread teamToken through to LeftPanel for "Home" button
This means the riot-web will use the same teamToken used by sdk components. This includes cases where only the fragment query parameter has been provided.

Fixes matrix-org/riot-web#3185
2017-02-10 09:57:28 +00:00
Luke Barnard
8d3876c7d0 MELS: either expanded or summary, not both
Fixes vector-im/riot-web#3097
2017-02-09 15:14:16 +00:00
Luke Barnard
69add8fd64 Actually use the RTS URL 2017-02-09 13:16:46 +00:00
David Baker
7ba9e27893 Merge pull request #682 from matrix-org/luke/fix-typing-notif
Fix typing notif and status bar
2017-02-09 10:46:37 +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
Luke Barnard
553054409f Use (props,state) ordering of arguments
There was a bug here that meant that sometimes arguments were given in the wrong order; presumably leading to the status bar not appearing for calls etc.
2017-02-09 10:01:59 +00:00
Luke Barnard
cc69e982a7 Use single state to set both avatars and typing notif 2017-02-09 10:01:51 +00:00
Luke Barnard
40658494b4 Consider emails ending in matrix.org as a uni email
For the purposes of testing (and having a team page)
2017-02-09 09:29:55 +00:00
Luke Barnard
747c0c44a6 Use new method of getting team icon
This was necessary because the team token may not be known when registering, but domain is. Storing the icon under the "common" directory is the chosen solution to this.
2017-02-09 09:24:46 +00:00
Matthew Hodgson
ad2710ec5d fix CSS for import/export buttons 2017-02-09 02:00:58 +00:00
Matthew Hodgson
ea50acfc87 fix dark theme for uploadbar 2017-02-09 01:26:53 +00:00
Matthew Hodgson
231997dd63 unbreak /markdown off 2017-02-09 01:18:09 +00:00
Luke Barnard
c2d5b72d68 Set referrer qp in nextLink
This is so that when the verification link is clicked from an email, the referrer is set on the new instance of riot when /rts/register is hit
2017-02-08 17:58:40 +00:00
David Baker
fe17e2452b Merge pull request #676 from matrix-org/luke/rts-team-token-login
Get team_token from the RTS on login
2017-02-08 10:54:24 +00:00
Matthew Hodgson
8fea4c27cb fix NPE 2017-02-07 22:00:56 +00:00
Luke Barnard
3d30db81e0 Only init RTS if configured correctly 2017-02-07 15:24:57 +00:00
David Baker
96539a4054 Merge pull request #666 from matrix-org/luke/rts-welcome-pages
RTS Welcome Pages
2017-02-07 13:42:47 +00:00
Luke Barnard
d5f6ecdc49 Use teamToken, not config when doing screen fallback 2017-02-07 13:23:58 +00:00
Luke Barnard
c93b6c3c34 Style, fixes 2017-02-07 13:15:40 +00:00
Richard van der Hoff
484d9d708e Logging to try to track down riot-web#3148
Since I can't figure out how this is happening, add a shedload of logging to
try to pin it down.
2017-02-06 16:01:25 +00:00
Richard van der Hoff
77f76db68b UserSettings: s/vector-web/riot-web/
vector is dead, long live riot
2017-02-06 09:50:14 +00:00
Luke Barnard
173e80a5de Get team_token from the RTS on login
Use the /login endpoint of the RTS to get the team token when the user has successfully logged in.
2017-02-03 14:34:24 +00:00
Richard van der Hoff
827b5a6811 Fix deviceverifybuttons
Use DeviceInfo from deviceVerificationChanged event rather than calling
non-existent getStoredDevice
2017-02-03 14:34:19 +00:00
Luke Barnard
efae5f6bf1 Use localStorage team token with fall-back on query parameter 2017-02-03 11:48:24 +00:00
Richard van der Hoff
5df5fed6f5 Merge pull request #675 from matrix-org/dbkr/fix_timeline_notifs_empty
Fix timeline & notifs panel spuriously being empty
2017-02-03 11:35:28 +00:00
Richard van der Hoff
2b67c1245f Merge pull request #636 from matrix-org/matthew/blacklist-unverified
UI for blacklisting unverified devices per-room & globally
2017-02-03 11:32:24 +00:00
Richard van der Hoff
3ea746db1d Fix RoomSettings
Don't enable encryption unless the box is checked!
2017-02-03 11:20:36 +00:00
David Baker
470e760e42 Fix timeline & notifs panel spuriously being empty
Only claim there's nothing to display once we've failed to back
paginate, otherwise we'll show the empty message instead of the
MessagePanel and therefore never try to back-paginate.
2017-02-03 11:11:37 +00:00
Richard van der Hoff
e018eef9fa UnknownDeviceDialog.js: tweak warning 2017-02-03 10:50:03 +00:00
Matthew Hodgson
28d28b55d1 correctly reflect verify/blacklist state in UI 2017-02-03 01:49:22 +00:00
Matthew Hodgson
5de84f845a tweak verbiage 2017-02-03 01:49:05 +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
Matthew Hodgson
be41462f3a merge 2017-02-02 22:05:44 +00:00
Richard van der Hoff
cd5a1abfac Merge pull request #673 from matrix-org/dbkr/make_default_avatars_clickable
Make default avatars clickable
2017-02-02 18:49:08 +00:00
David Baker
e7a32faf64 Wrap multiline JSX in parens 2017-02-02 18:47:24 +00:00
Matthew Hodgson
8799891e0e hopefully fix key array warning 2017-02-02 18:47:15 +00:00
David Baker
10edab06a6 Don't c+p the complex markup 2017-02-02 18:41:50 +00:00
David Baker
7484cc3f70 Make default avatars clickable
BaseAvatar can be passed an onClick which is called when it's, er,
clicked, except when it was the default avatar in which case it
merrily ignored it. Make it not ignore it.
2017-02-02 18:29:33 +00:00
Matthew Hodgson
2cf24c17e2 double scrollback window on roomview 2017-02-02 18:27:21 +00:00
Matthew Hodgson
d567b3bb6a fix 'show rightpanel' button alt text & icon 2017-02-02 18:27:21 +00:00
Matthew Hodgson
e45ac36a3b Merge pull request #635 from matrix-org/matthew/warn-unknown-devices
very barebones support for warning users when rooms contain unknown devices
2017-02-02 18:08:18 +00:00
Matthew Hodgson
5d5125df15 fix copyright & always show gemini 2017-02-02 18:02:07 +00:00
Matthew Hodgson
4ab479594b temporarily stop hiding the statusbar
as per https://github.com/vector-im/riot-web/issues/1991#issuecomment-276953915
2017-02-02 17:48:54 +00:00
Richard van der Hoff
e9a53a8957 Merge pull request #671 from matrix-org/dbkr/fix_read_receipt_unhide
Fix expanding/unexapnding read receipts
2017-02-02 17:45:04 +00:00
David Baker
b561b711df Fix expanding/unexapnding read receipts
Make the AccessibleButton element be the img directly rather than
wrapping it in a div which is unnecessary and breaks the rendering.

Fixes https://github.com/vector-im/riot-web/issues/3052
2017-02-02 17:36:26 +00:00
Matthew Hodgson
08ad69847c show placeholder of timeline empty 2017-02-02 16:32:10 +00:00
Richard van der Hoff
68f644c824 Merge pull request #669 from matrix-org/dbkr/read_receipt_title
Make read receipt's titles more explanatory
2017-02-02 15:25:45 +00:00
David Baker
c5b752cac1 Make read receipt's titles more explanatory
Throwing this one in a suggestion while I'm in the area: I think
this would help people understand what the read receipt avatars
are.
2017-02-02 15:08:18 +00:00
Luke Barnard
b9bc8eefd0 Typo 2017-02-02 13:56:54 +00:00
Matthew Hodgson
1c4c80cc5f boldify the preview bar click 2017-02-02 13:32:19 +00:00
Matthew Hodgson
211be5752c try to make joining rooms more obvious 2017-02-02 13:32:07 +00:00
Luke Barnard
2aaf77974d Pass RTS URL through 2017-02-02 11:57:56 +00:00
Luke Barnard
8c941b11cd Use mx_team_token instead of config 2017-02-02 11:22:40 +00:00
Matthew Hodgson
5e5b7f89f4 support scrollable content for UnknownDeviceDialog 2017-02-02 00:25:49 +00:00
Matthew Hodgson
c09d173415 Merge branch 'develop' into matthew/warn-unknown-devices 2017-02-01 22:34:55 +00:00
Luke Barnard
acde1f3db7 Merge branch 'develop' into luke/rts-welcome-pages
Conflicts:
	src/components/views/avatars/BaseAvatar.js
2017-02-01 17:22:45 +00:00
Luke Barnard
f8d7902d2e Merge pull request #662 from matrix-org/luke/rts-handle-errors
Throw errors on not 'ok' status codes from RTS, swap to `whatwg-fetch` for sending requests to RTS.
2017-02-01 11:44:04 +00:00
Luke Barnard
fa1981ce09 Use whatwg-fetch instead of browser-request 2017-02-01 10:39:52 +00:00
David Baker
6f53b2de2c Merge pull request #663 from matrix-org/rav/fix_tests
Make tests pass on Chrome again
2017-02-01 10:20:30 +00:00
Richard van der Hoff
cd1cf09dc9 Make tests pass on Chrome again
It seems that a number of the tests had started failing when run in
Chrome. They were fine under PhantomJS, but the MegolmExport tests only work
under Chrome, and I need them to work...

Mostly the problems were timing-related, where assumptions made about how
quickly the `then` handler on a promise would be called were no longer
valid. Possibly Chrome 55 has made some changes to the relative priorities of
setTimeout and sendMessage calls.

One of the TimelinePanel tests was failing because it was expecting the contents
of a div to take up more room than they actually were. It's possible this is
something very environment-specific; hopefully the new value will work on a
wider range of machines.

Also some logging tweaks.
2017-01-31 22:40:53 +00:00
Luke Barnard
c261ca1f5e Allow base referral URL to be configurable 2017-01-31 15:17:43 +00:00
Luke Barnard
c2b0c603c0 Add referral section to user settings
This allows those who have registered to referrer other students to Riot and have their referral counted for the campaign competition.
2017-01-31 13:17:01 +00:00
Luke Barnard
878e5593ba Implement tracking of referrals (#659)
* Implement tracking of referrals

This also modifies (or fixes) auto-joining.
2017-01-31 11:13:05 +00:00
Luke Barnard
4e9229e936 Get rid of dupl. declaration 2017-01-30 16:37:16 +00:00
Luke Barnard
1e279d2335 Finish with .done() 2017-01-30 16:35:34 +00:00
Luke Barnard
f5efc8e765 Use const, not var 2017-01-30 16:33:16 +00:00
Luke Barnard
eb4d7f04e7 Use busy spinner when requesting teams 2017-01-30 16:23:52 +00:00
Luke Barnard
318d871097 Formatting 2017-01-30 16:13:57 +00:00
Luke Barnard
4e0889454a GET /teams from RTS instead of config.json
Now that the RTS contains config for teams, use GET /teams to get that information so that users will see be able to register as a team (but not yet auto-join rooms, be sent to welcome page or be tracked as a referral).
2017-01-30 15:50:31 +00:00
David Baker
f5458d34aa Fix inviting import fail 2017-01-27 21:57:34 +00:00
Luke Barnard
d9a8acd431 Redo team-based registration (#657)
For compatibility with referral campaign flows, re-implement team registration such that the team is selected through providing an email with a known team domain. The support email is now only shown when an email that _looks_ like a UK/US university email address, but is not known.
2017-01-27 16:31:36 +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
Richard van der Hoff
2c7b3d9a02 UnknownDeviceDialog: Reword the warning 2017-01-26 14:55:58 +00:00
Richard van der Hoff
0a3d9fc17f Fix lint 2017-01-26 14:12:00 +00:00
Richard van der Hoff
67bd2cf9dd Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified 2017-01-26 14:09:25 +00:00
David Baker
e2edecc55b Merge pull request #653 from matrix-org/dbkr/invite_look_up_emails
Look up email addresses in ChatInviteDialog
2017-01-26 11:35:06 +00:00
David Baker
c42b705497 Use a cancel function
rather than checking queryList each time
2017-01-26 10:54:07 +00:00
David Baker
23a25e550d Missed a function 2017-01-26 10:09:33 +00:00
David Baker
bf66f77acb Set state in _lookupThreepid 2017-01-26 10:08:44 +00:00
Richard van der Hoff
60d7575146 Merge branch 'matthew/warn-unknown-devices' of github.com:matrix-org/matrix-react-sdk into matthew/warn-unknown-devices 2017-01-25 23:17:57 +00:00
Matthew Hodgson
ebf6ba8994 explicitly set device known-ness 2017-01-25 23:52:56 +01:00
Richard van der Hoff
70190be65c Factor out common onSendMessageFailed 2017-01-25 22:23:21 +00:00
Richard van der Hoff
5da6ca8fc1 Refactor UnknownDeviceDialog
hopefully make this a bit more readable, and use our new BaseDialog.
2017-01-25 22:23:21 +00:00
Richard van der Hoff
5538ce7c30 Merge branch 'develop' into matthew/warn-unknown-devices 2017-01-25 22:22:50 +00:00
David Baker
e1e87807b5 Look up email addresses in ChatInviteDialog
So email addresses known to the IS get a display name & avatar
2017-01-25 18:51:28 +00:00
Kegsay
c3616fd208 Merge pull request #652 from matrix-org/kegan/rageshake-glue
Move BugReportDialog to riot-web
2017-01-25 17:20:43 +00:00
David Baker
12642bdf2b Merge pull request #651 from matrix-org/rav/roomheader_theming_fix
Fix dark theme styling of roomheader cancel button
2017-01-25 17:02:07 +00:00
Richard van der Hoff
a2dd1fa0a9 Merge branch 'develop' into matthew/warn-unknown-devices 2017-01-25 16:44:03 +00:00
Richard van der Hoff
21f3aeac8e Revert accidental change
This was an unrelated change which is being done on another branch anyway
2017-01-25 16:40:27 +00:00
Richard van der Hoff
5099f07562 Fix dark theme styling of roomheader cancel button 2017-01-25 16:33:29 +00:00
Kegan Dougal
bea6df88e0 Move BugReportDialog to riot-web 2017-01-25 16:33:00 +00:00
Richard van der Hoff
55dc2e0161 Factor out common CancelButton 2017-01-25 16:32:06 +00:00
Kegsay
e5fde759e6 Merge pull request #642 from matrix-org/kegan/rageshake-ui
Add bug report UI
2017-01-25 16:03:22 +00:00
David Baker
a3b938427d Merge pull request #625 from matrix-org/dbkr/user_search_feedback
Better feedback in invite dialog
2017-01-25 15:59:47 +00:00
Kegan Dougal
602ce37ba7 Merge branch 'develop' into kegan/rageshake-ui 2017-01-25 15:52:00 +00:00
Richard van der Hoff
dc7a169779 Merge pull request #647 from matrix-org/rav/megolm_backup_ui
Import and export for Megolm session data
2017-01-25 15:43:15 +00:00
David Baker
ced1c45a34 Doc state in getinitialstate 2017-01-25 15:23:50 +00:00
Richard van der Hoff
9cadc2f55f Merge pull request #613 from matrix-org/luke/fix-join-part-collapsing-causality
Overhaul MELS to deal with causality, kicks, etc.
2017-01-25 15:20:30 +00:00
Richard van der Hoff
ebe6cddd21 Merge remote-tracking branch 'origin/develop' into rav/megolm_backup_ui 2017-01-25 15:13:14 +00:00
Richard van der Hoff
69b55fd9d1 Merge pull request #650 from matrix-org/dbkr/fix_alt_up_down
Re-add dispatcher as alt-up/down uses it
2017-01-25 15:10:56 +00:00
David Baker
e9804086ca Point to InviteAddressType 2017-01-25 15:03:01 +00:00
Richard van der Hoff
adf8f50f6e Merge remote-tracking branch 'origin/develop' into rav/base_dialog 2017-01-25 15:01:11 +00:00
David Baker
b34f63d3e7 Re-add dispatcher as alt-up/down uses it
Alt-up/down still doesn't go through rooms in the right order,
but it should probably not error.
2017-01-25 14:59:18 +00:00
David Baker
fd8d5af63a Fix import of InviteAddressType
and rewrite to import while we're at it
2017-01-25 14:54:21 +00:00
David Baker
9020a7515c Correctly bail out on unknown address 2017-01-25 14:50:00 +00:00
Kegan Dougal
b00e090600 Do not show the bug report section if there is no bug_report_endpoint_url 2017-01-25 14:43:47 +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
Luke Barnard
f9ca2a8e59 Fix _renderCommaSeparatedList 2017-01-25 11:28:12 +00:00
David Baker
f66e412d3a Merge pull request #643 from matrix-org/luke/fix-typing-indication
Sync typing indication with avatar typing indication
2017-01-25 11:13:55 +00:00
Luke Barnard
b887d5b823 Much linting 2017-01-25 11:05:45 +00:00
David Baker
fc9987a827 Merge pull request #646 from matrix-org/matthew/password-reset-warning
Warn users of E2E key loss when changing/resetting passwords or logging out
2017-01-25 11:04:35 +00:00
Luke Barnard
8091cf7df8 Enumerate->label 2017-01-25 09:32:28 +00:00
Luke Barnard
f8e46819c5 Rename truncated->coalesced 2017-01-25 09:28:26 +00:00
Luke Barnard
3b8b2cf500 Document _getCanonicalTransitions 2017-01-25 09:18:47 +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
Richard van der Hoff
770820e6fa Fix a bunch of lint complaints 2017-01-24 22:41:52 +00:00
Matthew Hodgson
6a40abbbf0 actually, move signout warning to UserSettings.js
also, kill off the inexplicably useless LogoutPrompt in favour of a normal QuestionDialog.
This in turn fixes https://github.com/vector-im/riot-web/issues/2152
2017-01-24 23:18:25 +01:00
Matthew Hodgson
6e55bb4956 actually, move signout warning to UserSettings.js
also, kill off the inexplicably useless LogoutPrompt in favour of a normal QuestionDialog.
This in turn fixes https://github.com/vector-im/riot-web/issues/2152
2017-01-24 23:15:00 +01:00
Richard van der Hoff
b85f53cadd Implement Megolm key importing 2017-01-24 21:50:24 +00:00
Richard van der Hoff
e23deac1bb Implement e2e export 2017-01-24 21:50:24 +00:00
Matthew Hodgson
5b61d00533 warn users that changing/resetting password will nuke E2E keys 2017-01-24 22:36:55 +01:00
Richard van der Hoff
79e1108564 Merge branch 'develop' into rav/base_dialog 2017-01-24 21:03:08 +00:00
Richard van der Hoff
72492fd909 Fix broken merge
I messed up the merge in 6dd46d5.
2017-01-24 20:55:10 +00:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
David Baker
6c263c1c89 Change what AddressTile takes to be Objects
Rather than just passing in a list of strings. This paves the way
for passing in display names & avatars of looked-up threepids.
2017-01-24 18:23:34 +00:00
Richard van der Hoff
56cf7a6af7 Create a common BaseDialog
I'm fed up with copying the boilerplate for modal dialogs the whole time.
2017-01-24 18:18:54 +00:00
Luke Barnard
a92fff9da7 Fix linting warnings 2017-01-24 17:18:56 +00:00
Luke Barnard
4186a769ca Default prop for whoIsTypingLimit 2017-01-24 17:16:26 +00:00
Kegan Dougal
97387db014 Reduce log spam: Revert a16aeeef2a
As per #riot-dev, this is no longer required.
2017-01-24 16:40:26 +00:00
Luke Barnard
9a360a48d2 Use the same property to limit avatars 2017-01-24 16:04:37 +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
Kegan Dougal
5991172182 Review comments 2017-01-24 15:51:53 +00:00
Kegan Dougal
3b9a112136 Add bug report UI 2017-01-24 14:47:11 +00:00
Luke Barnard
ce7434984b Expand timeline in situations when _getIndicator not null
The status bar will now be expanded when:
 - props.numUnreadMessages
 - !props.atEndOfLiveTimeline
 - props.hasActiveCall
2017-01-24 14:32:52 +00:00
Luke Barnard
bd106968ce Merge branch 'develop' into luke/fix-join-part-collapsing-causality
Conflicts:
	src/components/structures/MessagePanel.js
2017-01-24 14:22:18 +00:00
Luke Barnard
d690677bde Merge branch 'luke/fix-join-part-collapsing-causality' of github.com:matrix-org/matrix-react-sdk into luke/fix-join-part-collapsing-causality
Conflicts:
	src/components/views/elements/MemberEventListSummary.js
2017-01-24 14:17:11 +00:00
David Baker
5091bab657 Fix failed merge #2 2017-01-24 13:59:02 +00:00
David Baker
5f24fc3e5d Fix merge fail 2017-01-24 13:56:22 +00:00
David Baker
f1f6fc809c Merge remote-tracking branch 'origin/develop' into dbkr/user_search_feedback 2017-01-24 11:26:09 +00:00
David Baker
c47d3e04a5 Merge pull request #621 from matrix-org/dbkr/add_searching_known_users
Add 'searching known users' to the user picker
2017-01-24 10:51:23 +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
3cfa539230 Merge pull request #637 from matrix-org/luke/fix-typing-avatars-displays-me
Fix typing avatars displaying "me"
2017-01-23 12:43:34 +00:00
David Baker
506d37bbad Merge remote-tracking branch 'origin/develop' into dbkr/add_searching_known_users 2017-01-23 11:34:44 +00:00
David Baker
f64a4e0ecb Merge pull request #623 from matrix-org/dbkr/user_search_word_boundary
Make user search do a bit better on word boundary
2017-01-23 11:31:26 +00:00
Luke Barnard
d97fc0a99a Fix typing avatars displaying "me" 2017-01-23 10:25:33 +00:00
Matthew Hodgson
7bc3fc8696 make UnknownDeviceDialog work again, other than the mess of vector-im/vector-web#3020 2017-01-22 01:28:43 +01:00
Matthew Hodgson
d9c0513ee2 make it work 2017-01-21 22:49:29 +01:00
Matthew Hodgson
39c122fe4f fix local storage idiocy 2017-01-21 22:27:55 +01:00
Matthew Hodgson
532f4e59c9 literally blindly add verification buttons 2017-01-21 19:06:15 +01:00
Matthew Hodgson
071e364be2 improve the verify warning if blacklisting is unabled 2017-01-21 17:56:48 +00:00
Matthew Hodgson
c618880af9 oops 2017-01-21 17:43:46 +00:00
Matthew Hodgson
3071fc0ddc UI for blacklisting unverified devices per-room & globally
(written blind; untested as yet)
2017-01-21 17:39:39 +00:00
Matthew Hodgson
2e15e8f9b4 very barebones support for warning users when rooms contain unknown devices 2017-01-21 05:13:36 +00:00
Matthew Hodgson
937f13d578 fix a bunch of dark-theme buttons 2017-01-20 21:00:22 +00:00
Luke Barnard
0c5762b91d Implement "someone is typing" avatars (#631)
When users are typing, their avatars can be seen instead of "..." in the RoomView StatusBar
2017-01-20 17:51:35 +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
a16aeeef2a Temporarily add more logging, to try to catch failures on travis 2017-01-20 13:06:06 +00:00
Richard van der Hoff
2d060c8d2e Fix error display in account deactivate dialog 2017-01-20 11:04:47 +00:00
Matthew Hodgson
b76b0f755d fix context menu bg 2017-01-20 02:47:47 +00:00
David Baker
bd0706f103 Merge pull request #626 from matrix-org/dbkr/sanitize_chatinvitedialog
Sanitize ChatInviteDialog
2017-01-19 18:23:36 +00:00
David Baker
afa384c4f3 Use null instead of false 2017-01-19 18:13:27 +00:00
Richard van der Hoff
2637ae3af3 Merge pull request #630 from matrix-org/rav/fix_themes
(hopefully) fix theming on Chrome
2017-01-19 17:34:36 +00:00
David Baker
a2ff1cd8e6 Factor out adding the input field to the list 2017-01-19 17:03:16 +00:00
David Baker
ee1f6c772e Remove duplicate case handled above
And fix typo where it was handled
2017-01-19 16:50:09 +00:00
David Baker
2a08abaa95 Keep old behaviour of submitting on enter
if input is empty
2017-01-19 16:35:40 +00:00
David Baker
d8bcc1f067 Merge remote-tracking branch 'origin/develop' into dbkr/sanitize_chatinvitedialog 2017-01-19 16:26:59 +00:00
Richard van der Hoff
ba2460aef4 Merge pull request #618 from matrix-org/rav/async_dialog
Allow Modal to be used with async-loaded components
2017-01-19 16:08:30 +00:00
Richard van der Hoff
a88f9fdd73 (hopefully) fix theming on Chrome
Jump through some hoops to make Chrome behave sensibly on non-default themes.
2017-01-19 15:36:57 +00:00
Kegsay
89fa47dc26 Merge pull request #622 from kyrias/commonmark-fix-escaping
Fix escaping markdown by rendering plaintext
2017-01-19 13:39:07 +00:00
David Baker
9e0c7a11d0 Merge pull request #628 from matrix-org/luke/feature-team-reg-auto-join-rooms
Implement auto-join rooms on registration
2017-01-19 11:44:37 +00:00
Johannes Löthberg
9c1c657a1e Markdown: delete remaining pre-split relics
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-19 11:55:36 +01:00
David Baker
b58a67f6b1 Add more punctuation. Also s/let/const/ 2017-01-19 10:51:43 +00:00
David Baker
242f5e0301 PR feedback
* Doc & properly indent escapeRegExp
 * Add close bracket to the list of punctuation chars we search after
2017-01-19 10:24:21 +00:00
lukebarnard
e9eb38fd74 Update propTypes and do null checks 2017-01-19 11:05:08 +01:00
lukebarnard
e06dd6e34a Implement auto-join rooms on registration
Also: This fixes registration with a team: only the email localpart was being used to register.

When a registration is successful, the user will be joined to rooms specified in the config.json teamsConfig:

"teamsConfig" : {
  "supportEmail": "support@riot.im",
  "teams": [
    {
      "name" : "matrix",
      "emailSuffix" : "matrix.org",
      "rooms" : [
        {
          "id" : "#irc_matrix:matrix.org",
          "autoJoin" : true
        }
      ]
    }
  ]
}

autoJoin can of course be set to false if the room should only be displayed on the (forthcoming) welcome page for each team, and not auto-joined.
2017-01-19 10:56:04 +01:00
Matthew Hodgson
4e5689082d correctly load synced themes without NPE 2017-01-18 20:06:54 +00:00
Matthew Hodgson
4df968ecdf fix css snafu 2017-01-18 20:06:44 +00:00
David Baker
7b7728c93a Make behaviour of ChatInviteDialog more consistent
* Pressing enter now always adds whatever was in the input box
   to the invite list, if it's a valid address (previously it
   added it to the list of it was a search result but submitted
   the form straight away if there were no results).
 * Remove isValidAddress as it was only used in the context of
   testing whether its return value was true or null (where null
   meant "unsure") so just use getAddressType instead.
2017-01-18 18:32:38 +00:00
Johannes Löthberg
30bd01cdf2 Markdown: Split up render function into toHTML/toPlaintext
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-18 19:29:11 +01:00
David Baker
f105ec2794 Attempt to sanitize ChatInviteDialog a bit
* Use binds rather than onFoo functions which aren't actually
   handler functions themselves but return them
 * Rename onKeyUp to moveSelectionDown etc,, reserving onKeyUp
   for "a key has been released" rather than, "the up arrow key
   has been pressed"
2017-01-18 17:51:39 +00:00
Matthew Hodgson
fc63067237 improve commentary 2017-01-18 16:36:27 +00:00
David Baker
de621902fc Better feedback in invite dialog
Show feedback if you enter a valid but unknown email address
or mxid

Fixes https://github.com/vector-im/riot-web/issues/2933
2017-01-18 15:21:50 +00:00
Matthew Hodgson
3d30553b7f review fixes, plus unbreak to work with new webpack layout 2017-01-18 14:06:47 +00:00
Matthew Hodgson
a0bbe3a306 Merge branch 'develop' into matthew/postcss 2017-01-18 12:52:59 +00:00
Luke Barnard
5ef5204c8c Implement simple team-based registration (#620)
* Implement simple team-based registration

Config required goes in the `teams` top-level property in config.json. This consists of an array of team objects:
```json
{
  "name": "University of Bath",
  "emailSuffix": "bath.ac.uk"
}
```
These can be selected on registration and require a user to have a certain email address in order to register as part of a team. This is for vector-im/riot-web#2940. The next step would be sending users with emails matching the emailSuffix of a team to the correct welcome page as in vector-im/riot-web#2430.
2017-01-18 12:48:28 +01:00
lukebarnard
5dd1512ff2 Move aggregation code to dedicated function 2017-01-18 10:59:19 +01:00
lukebarnard
484549e50b Refactor a few things and document everything 2017-01-18 10:26:25 +01:00
Johannes Löthberg
c819b433a2 Make old message composer use new markdown
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 20:37:27 +01:00
Matthew Hodgson
8288eb730c a rather hacky implementation of theme switching 2017-01-17 19:13:23 +00:00
David Baker
a87e7d6617 Make user search do a bit better on word boundary 2017-01-17 18:17:51 +00:00
lukebarnard
3ba9f50873 Move functions around, remove redundancies, add docs 2017-01-17 19:07:45 +01:00
lukebarnard
9574a0b663 Remove pointless length guard 2017-01-17 18:56:57 +01:00
Johannes Löthberg
893a5c971f Fix escaping markdown by rendering plaintext
We still need to parse "plaintext" messages through the markdown
renderer so that escappes are rendered properly.

Fixes vector-im/riot-web#2870.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 16:23:58 +01:00
David Baker
0b67fd5b4e Add 'searching known users' to the user picker
So it's more obvious it's only finding people you've already seen

Fixes https://github.com/vector-im/riot-web/issues/2931
2017-01-17 14:48:50 +00:00
Matthew Hodgson
a18d94099e switch to using <span/> for edit button 2017-01-17 14:11:15 +00:00
Matthew Hodgson
203172c886 typos 2017-01-17 14:11:01 +00:00
lukebarnard
45655f4de3 Modified desc for invitation rejections, withdrawals 2017-01-17 12:01:19 +01:00
lukebarnard
aa6e168505 Remove comment 2017-01-16 18:58:53 +01:00
lukebarnard
5ab287fa1a Use pre-calculated displaynames to handle dupes 2017-01-16 18:57:49 +01:00
lukebarnard
a79dc886ba Order sequences by occurance of the first event in each sequence 2017-01-16 18:46:17 +01:00
Richard van der Hoff
ac22803ba0 Allow Modal to be used with async-loaded components
Add Modal.createDialogAsync, which can be used to display asynchronously-loaded
React components. Also make EncryptedEventDialog use it as a handy
demonstration.
2017-01-16 17:18:38 +00:00
lukebarnard
4be444d524 Move shouldComponentUpdate 2017-01-16 15:12:00 +01:00
lukebarnard
82d6805a71 Canonicalise certain transition pairs, handle arbitrary consecutive transitions
Transition pairs joined,left and left,joined are now transformed into single meta-transitions "joined_and_left" and "left_and_joined" respectively. These are described as "joined and left", "left and rejoined".

Treat consecutive sequences of transitions as repetitions, and handle any arbitrary repetitions of transitions:

...,joined,left,joined,left,joined,left,...

is canonicalised into
...,joined_and_left, joined_and_left, joined_and_left,...

which is truncated and described as
... , joined and left 3 times, ...

This also works if there are multiple consecutive sequences separated by other transitions:

..., banned, banned, banned, joined, unbanned, unbanned, unbanned,...

becomes
... was banned 3 times, joined, was unbanned 3 times ...
2017-01-16 14:49:07 +01:00
lukebarnard
fb68fff536 Refactor renderCommaSeparated for reuse 2017-01-16 13:45:42 +01:00
Jani Mustonen
b323551f22 Adhered to code review 2017-01-13 19:36:41 +02:00
Jani Mustonen
5e013860ee Definition for AccessibleButton 2017-01-13 19:36:41 +02:00
Jani Mustonen
959163f2ef Proper accessible buttons 2017-01-13 19:36:41 +02:00
Jani Mustonen
041196d729 Added quick search functionality 2017-01-13 19:36:40 +02:00
Jani Mustonen
d2ff2715ce Buttonified almost everything. Stylesheet is broken. 2017-01-13 19:36:40 +02:00
Jani Mustonen
8d79716421 Turned the links to buttons to comply with MDN's recommendations 2017-01-13 19:36:40 +02:00
Jani Mustonen
ad072cc179 Turned buttons from divs to links. Makes it possible for screen readers and hotkeys to recognize the buttons. 2017-01-13 19:36:40 +02:00
Luke Barnard
77ae041407 Order names by order of first events for users 2017-01-13 16:40:33 +00:00
Kegan Dougal
dcd0acb2b5 Review comments 2017-01-13 15:17:34 +00:00
Kegan Dougal
e196cfaf91 Show the error dialog when requests to PUT power levels fail
This is why I dislike Q.
2017-01-13 14:51:01 +00:00
Luke Barnard
d2d78919ce Overhaul MELS to deal with causality, kicks, etc.
The MELS can now deal with arbitrary sequences of transitions per user, where a transition is a change in membership. A transition can be joined, left, invite_reject, invite_withdrawal, invited, banned, unbanned or kicked.

Repeated segments (modulo 1 and 2), such as joined,left,joined,left,joined will be handled and will be rendered as " ... and 10 others joined and left 2 times and then joined". The repeated segments are assumed to be at the beginning of the sequence. This could be improved to handle arbitrary repeated sequences.
2017-01-12 18:55:53 +00:00
Matthew Hodgson
cc8b3d4ba4 spell out email invites better 2017-01-12 13:46:19 +00:00
David Baker
1f96467145 Merge pull request #609 from matrix-org/luke/fix-join-part-collapsing-redacted-joins
Fix redacted member events being visible
2017-01-11 17:10:35 +00:00
Luke Barnard
baaf827c48 Use getStateKey instead of getSender
This makes sure that the kickee is not the user used for the MemberEventListSummary
2017-01-11 17:03:14 +00:00
Luke Barnard
6e2a75bbee Fix redacted member events being visible
This was due to the `MemberEventListSummary` not ignoring redacted joins/leaves. This was also causing bug #2765.
2017-01-11 11:27:07 +00:00
David Baker
13a5337e0f Fix 'create account' link in 'forgot password'
Fixes https://github.com/vector-im/riot-web/issues/2853
2017-01-10 15:16:39 +00:00
Sijmen Schoon
ef88e02931 Add support for pasting into the text box
Only supports the new rich-text-supporting text editor
2017-01-08 02:21:36 +01: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
Matthew Hodgson
e2e3bc0637 improve captcha warning 2016-12-24 18:40:20 +00:00
Matthew Hodgson
69b277b282 ask electron users to do captchas in a web browser.
This will happen anyway when they follow email verification links.
make captchas poll for success so if they are completed elsewhere, electron moves on
2016-12-24 03:15:30 +00:00
Matthew Hodgson
b1c4c759f4 blind fix for captcha on electron 2016-12-23 14:35:40 +00:00
Luke Barnard
2a63017372 Account for timezone in date separator calculation (#595)
* Account for timezone in date separator calculation

Decide on date separators using MatrixEvent.getDate(). This requires matrix-org/matrix-js-sdk#311
2016-12-22 17:54:30 +00:00
David Baker
fd44d9f4d6 Merge pull request #597 from matrix-org/dbkr/delete_threepid
Add support for deleting threepids
2016-12-22 15:31:34 +00:00
David Baker
8a3f2d9e91 Merge pull request #598 from matrix-org/dbkr/display_msisdn_threepid
Display msisdn threepids as 'Phone'
2016-12-22 15:28:09 +00:00
David Baker
a6fdbda011 Get variable name right 2016-12-22 15:26:08 +00:00
David Baker
98b22460ec They're not all emails anymore 2016-12-22 15:03:24 +00:00
Daniel Dent
7c841a86ef Unbranded error messages 2016-12-21 14:28:01 -08:00
David Baker
3dfffa385e Display msisdn threepids as 'Phone'
rather than pretending only email exists
2016-12-21 18:56:50 +00:00
David Baker
5e10ec4ece Add support for deleting threepids 2016-12-21 18:49:38 +00:00
Richard van der Hoff
4804fb3a1c Revert "Fix performance issues with wantsDateSeperator"
This change broke timezone handling, so that date-separators are shown at the
wrong time of day.

This reverts commit b908e7ef29.
2016-12-21 09:48:41 +00:00
Luke Barnard
2658cd09b5 Fix scroll jumping when a video is decrypted
Call the `onWidgetLoad` prop on MVideoBody to notify the scroll panel to keep it's position when the size of the video widget updates.
2016-12-20 12:33:07 +00:00
Matthew Hodgson
d0d056e308 hide read markers 2016-12-20 02:26:23 +00:00
Richard van der Hoff
b8c0fa507e Merge pull request #590 from matrix-org/luke/fix-membereventlistsummary-performance
Improve the performance of MemberEventListSummary
2016-12-16 10:53:51 +00:00
Luke Barnard
7475056bb4 MELS component should update if there are fewEvents, effectively expanding the summary 2016-12-15 18:33:13 +00:00
Luke Barnard
6b52b247e7 Update comment on MELS key 2016-12-15 18:26:41 +00:00
Luke Barnard
88aeb6417e Use the first member event ID or "initial" in the MELS key 2016-12-15 18:23:54 +00:00
Kegsay
71132c4610 Merge pull request #592 from matrix-org/kegan/bulk-reject-invites
Implement bulk invite rejections
2016-12-15 16:16:55 +00:00
Kegan Dougal
ec41fc284a Null guard on componentWillUnmount 2016-12-15 16:13:09 +00:00
Luke Barnard
55f85befc1 Allow component to update if currently expanded or if about to collapse 2016-12-15 14:43:59 +00:00
Kegan Dougal
8a511ed54b Add .done() to catch exceptions which may be thrown in setState 2016-12-15 14:17:29 +00:00
Luke Barnard
e7564f4dc5 Spelling 2016-12-15 13:16:36 +00:00
Luke Barnard
86739e7d1e Simplify handling of only one member event 2016-12-15 13:15:00 +00:00
Kegan Dougal
8f42134d9f Explain why binding 2016-12-14 16:04:20 +00:00
Luke Barnard
b908e7ef29 Fix performance issues with wantsDateSeperator
This was causing rendering of MemberEventListSummary to be quite slow. Instead of creating two date objects, just check to see if they represent timestamps that happened on different days.
2016-12-14 16:01:32 +00:00
Kegan Dougal
13dfe9ef0f Implement bulk invite rejects 2016-12-14 16:00:50 +00:00
Luke Barnard
c07e5d4992 Improve the performance of MemberEventListSummary
- The MessagePanel now uses the same key for the MELS instances rendered so that entirely new instances are not created, they are simply passed new props (namely when new events arrive).
- MELS itself now uses `shouldComponentUpdate` so that it only updates if it is given a different number of events to previous or if it is toggled to expand.
2016-12-14 15:31:35 +00:00
Kegan Dougal
1d4591ce68 Add UI in UserSettings for bulk rejecting invites 2016-12-14 15:01:50 +00:00
Kegan Dougal
5d99d68a64 Show the full date and time if the receipt was sent days after the event 2016-12-09 11:43:23 +00:00
Kegan Dougal
49010c3e93 Refactor how 'readReceipts' are passed into EventTiles
Instead of passing a list of RoomMembers, pass a list of records with a
`roomMember` prop and a `ts` prop so we can display the timestamp on hover.
2016-12-09 11:24:10 +00:00
Kegan Dougal
bd7553d1ea Add read receipt times to the hovertip of read markers
Fixes #2709. Surprisingly, this data was never passed down to
ReadReceiptMarker.
2016-12-08 16:23:20 +00:00
Richard van der Hoff
587325b36c Merge pull request #585 from matrix-org/dbkr/fix_exception_roomdir
Fix exception when clearing room dir search
2016-12-06 15:58:07 +00:00
David Baker
9e3c94edf4 Fix exception when clearing room dir search
Needed more isMounted checks after promises return.
2016-12-06 14:59:10 +00:00
David Baker
a3ab59832e Give the search box field a name
Should fix https://github.com/vector-im/riot-web/issues/2462
2016-12-06 14:40:09 +00:00
David Baker
6777e07a41 Remove device name from crypto section
As it was getting it by assuming our device was the first one,
which is just not a valid assumption.
2016-12-05 20:03:43 +00:00
David Baker
8ffe14881e Don't throw an exception entering settings page
if end to end encryption is disabled (eg. if you're a guest and
the server is too old to support e2e for guests).
2016-12-05 18:33:38 +00:00
Johannes Löthberg
f321c6c346 Strip (IRC) when clicking on username
Fixes vector-im/riot-web#2072.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-12-03 01:20:50 +01:00
Mark Haines
81e429eb14 Fix e2e attachment download by using iframes. (#562)
* Render attachments inside iframes.

* Fix up the image and video views

* Fix m.audio

* Comments, and only use the cross domain renderer if the attachment is encrypted

* Fix whitespace

* Don't decrypt file attachments immediately

* Use https://usercontent.riot.im/v1.html by default

* typos

* Put the config in the React context.

Use it in MFileBody to configure the cross origin renderer URL.

* Call it appConfig in the context

* Return the promises so they don't get dropped
2016-12-02 14:21:07 +00:00
Luke Barnard
5665a0ef37 Fix scroll jump on image decryption
`onWidgetLoad` is now being called when an image has been decrypted so that the ScrollPanel maintains its scroll position (whether it's stuckAtBottom or not). This attempts to fix https://github.com/vector-im/riot-web/issues/2624
2016-12-02 11:11:35 +00:00
Richard van der Hoff
c7fb83ed2d s/block/blacklist for e2e
Fixes https://github.com/vector-im/vector-web/issues/2315
2016-11-29 18:48:43 +00:00
David Baker
21d65d2ad1 Fix the download icon on attachments 2016-11-25 23:19:20 +00:00
David Baker
8547d00f32 Don't default the page_type to room directory
As it breaks the behaviour of redirecting to /#/directory
2016-11-24 16:39:48 +00:00
David Baker
2aba646acd Clear room alias etc. on logout 2016-11-24 14:58:37 +00:00
David Baker
0069393650 Go back to same room after logging in 2016-11-24 13:28:51 +00:00
David Baker
0bc4659fe0 Fix crash on logging in
If you arrived at the page via a link to a room.

Fixes https://github.com/vector-im/vector-web/issues/2634
2016-11-24 12:33:31 +00:00
Richard van der Hoff
6e6bcf8b78 Reinstate missing sections from the UserSettings
The 'devices' and 'cryptography' sections got removed from UserSettings by #566.
2016-11-23 11:08:21 +00:00
Luke Barnard
42fc7b1b66 Use UNFILL_REQUEST_DEBOUNCE_MS constant, reset unfillDebouncer timeout reference. 2016-11-22 17:23:06 +00:00
Luke Barnard
d1a5d94916 Make the unpagination process less aggressive
This increases `UNPAGINATION_PADDING` (see the ASCII on ScrollPanel.js, `_getExcessHeight`), and also debounces unfilling requests made for 200ms. This forces unfilling requests not to be sent unless the next 200ms has no scrolling, effectively.
2016-11-22 16:47:56 +00:00
Richard van der Hoff
06f12b91b8 Merge pull request #566 from matrix-org/rav/remove_dead_labs_settings
Get rid of always-on labs settings
2016-11-21 10:38:06 +00:00
Richard van der Hoff
4476b09ce7 Get rid of always-on labs settings
If the setting is on by default, it's not much use as a Labs setting. The E2e
setting was only confusing everyone anyway.
2016-11-21 10:25:48 +00:00
Richard van der Hoff
03988015aa Fix 'Quote' for e2e messages
Fixes https://github.com/vector-im/vector-web/issues/2612
2016-11-21 09:19:40 +00:00
Matthew Hodgson
2e691240ae fix e2e disclaimer 2016-11-19 02:44:36 +02:00
Matthew Hodgson
8a5678efdd boldify the preview bar click 2016-11-19 01:20:09 +02:00
Mark Haines
7cb3c0935b Make the spinner smaller, don't decrypt files as eagerly (#564) 2016-11-18 20:08:26 +00:00
Luke Barnard
341175ea58 Fix pagination issue where recent events are lost (#563)
Fix pagination issue where recent events are lost

Scrolling up a few pages followed by scrolling down to the most recent events previously caused some events to go missing. A test has been modified in conjunction with this fix to make sure that this failure mode is tested for in future. This commit should fix the issue, and the most recent events should be paginated back in.
2016-11-18 11:15:14 +00:00
Richard van der Hoff
f3582edb99 Merge pull request #560 from matrix-org/luke/fix-join-part-collapsing-regressions2
Fix more membership change collapsing bugs
2016-11-16 16:33:18 +00:00
Luke Barnard
7e88f0083d Fix more join-part collapsing regressions
Use the previous content of the first event known for a user in a block of membership changes. This means single events are not special cased.
2016-11-16 16:26:24 +00:00
Luke Barnard
3618b49982 Use new js-sdk public unpaginate 2016-11-16 16:10:23 +00:00
Luke Barnard
324448563a If only one mevent, return than one
Also, the net change of nil is detected as having the first and last events being _different_. The summary should only include those that have their first and last events being the _same_ because that is a net change (within the block of member events).
2016-11-16 16:07:19 +00:00
Luke Barnard
beecbc7cd7 Fix join/part collapsing regressions (#553)
* Fix join/part collapsing regressions

* Simplify loop

* Explain e,e

* Explain return null in _renderSummary

* Kill it properly

* Move . to _renderSummary

* Only use the first and last events to decide whether a net change has occured

* Do not sort events by TS before summarising

* fix loop and comment

* remove data-number-events

* Better explanation comment in _renderSummary

* Less tortuous comment
2016-11-16 14:42:30 +00:00
Luke Barnard
b718f1542c Fix infinite loop when there are a lot of invisible events (#554)
Instead of using a window of a fixed number of events, unpaginate based on the distance of the viewport from the end of the scroll range.

The ScrollPanel uses the scrollTokens to convey to its parent (the TimelinePanel, in this case) the point to unpaginate up to. The TimelinePanel then takes a chunk of events off the front or back of `this.state.events` using `timelineWindow.unpaginate`.

Fixes https://github.com/vector-im/vector-web/issues/2020
2016-11-16 14:25:52 +00:00
Mark Haines
6ccc825f0d Cache the tinted SVGs for MFileBody as data URLs (#559)
* Use a list of callbacks for things that need tinting.

Rather than gutwrenching the internals of TintableSVG inside the Tinter.

* Share a data: url for the tinted download svg in MFileBody

* Check image exists before tinting

* Add comments

* Use fetch+DomParser rather than XMLHttpRequest

* Remove comment about XMLHttpRequest
2016-11-16 14:16:51 +00:00
David Baker
218ced0276 Merge pull request #557 from matrix-org/rav/show_padlock_on_unencrypted_room
Show an open padlock for unencrypted rooms
2016-11-16 13:03:52 +00:00
Mark Haines
595493e5bb Clean up MFileBody.presentableTextForFile 2016-11-15 15:58:24 +00:00
David Baker
bb776c217d Merge pull request #556 from matrix-org/rav/decrypt_after_keys_arrive
Update eventtiles when the events are decrypted
2016-11-15 14:56:21 +00:00
Richard van der Hoff
a3d4ed5aee Show an open padlock for unencrypted rooms
Also, add a tooltip, and enlarge the img to 12px wide, because the open padlock
looked silly at 10px and they both look fine at 12px
2016-11-15 12:31:17 +00:00
David Baker
ec999f6fa1 Merge pull request #552 from matrix-org/rav/event_tile_withmatrixclient
Update EventTile to use WithMatrixClient instead of MatrixClientPeg
2016-11-15 11:25:48 +00:00
Mark Haines
13f28e53e1 Generate thumbnails when sending m.image and m.video messages. (#555)
* Send a thumbnail when sending a m.image

* Use the 'thumbnail_file' when displaying encrypted images

* Whitespace

* Generate thumbnails for m.video

* Fix docstring, remove unused vars, use const

* Don't change the upload promise behaviour

* Polyfill for Canvas.toBlob to support older browsers

* Lowercase for integer types in jsdoc
2016-11-15 11:22:39 +00:00
Richard van der Hoff
b209cc551e Update eventtiles when the events are decrypted
Events are sometimes decrypted after they arrive, so add an eventlistener for
it and update the tile.
2016-11-15 11:12:52 +00:00
Richard van der Hoff
0e8a49ebb7 Update EventTile to use WithMatrixClient instead of MatrixClientPeg 2016-11-14 16:00:24 +00:00
Matthew Hodgson
69f6393ed9 try to make joining rooms more obvious 2016-11-13 14:13:21 +00:00
Matthew Hodgson
a967ddd1cb quick and dirty support for custom welcome pages, with an example for geektime techfest 2016-11-13 14:10:46 +00:00
David Baker
1ff3a86457 Merge pull request #548 from matrix-org/markjh/encrypted-attachments
Encrypt attachments in encrypted rooms
2016-11-11 14:49:52 +00:00
Mark Haines
72d24f58d0 Make the promises be q promises 2016-11-11 13:57:45 +00:00
Mark Haines
9edfea3b32 Make imports more consistent, fix m.video 2016-11-11 13:57:45 +00:00
Mark Haines
bf5ecbd016 Review comments
Conflicts:
	src/ContentMessages.js
2016-11-11 13:57:42 +00:00
Mark Haines
734c4eb638 Fix gif hoverover 2016-11-11 13:57:11 +00:00
Mark Haines
de384480c6 Pass the decryptedUrl to the MFileBody so that it doesn't need to decrypt it itself.
Conflicts:
	src/components/views/messages/MImageBody.js
2016-11-11 13:57:08 +00:00
Mark Haines
736ab743ee Make everything use MFileBody for downloads, ensure that encrypted attachments are actually downloaded
Conflicts:
	src/components/views/messages/MImageBody.js
2016-11-11 13:56:30 +00:00
Mark Haines
ee1768f644 Use data:// URI rather than blob: URI to avoid XSS 2016-11-11 13:55:57 +00:00
Mark Haines
b69e88d4e3 Decrypt m.file attachments 2016-11-11 13:55:57 +00:00
Mark Haines
4e01a4f692 Decrypt m.audio attachments 2016-11-11 13:55:57 +00:00
Mark Haines
48340a2817 Fix unencrypted video thumbnail 2016-11-11 13:55:57 +00:00
Mark Haines
b56417f46e Remove spurious TODO 2016-11-11 13:55:57 +00:00
Mark Haines
95e8889857 Decypt m.video events 2016-11-11 13:55:57 +00:00
Mark Haines
a4a0d02848 Move decryptFile into a utility function so that it can be shared between different components
Conflicts:
	src/components/views/messages/MImageBody.js
2016-11-11 13:55:48 +00:00
Luke Barnard
5109833c42 Use correct prop types 2016-11-11 13:55:32 +00:00
Mark Haines
49b3aec1e2 Include the mimetype with the file info. Store the objectURL in state so that it can be used normally by the exising templates
Conflicts:
	src/ContentMessages.js
	src/components/views/messages/MImageBody.js
2016-11-11 13:54:07 +00:00
Luke Barnard
2a1d32f4d5 Add key prop to memberlist summary 2016-11-11 13:49:25 +00:00
Mark Haines
23e764604c Merge remote-tracking branch 'origin/master' into develop 2016-11-11 12:00:53 +00:00
Mark Haines
61921327c2 Merge remote-tracking branch 'origin/master' into develop 2016-11-11 12:00:30 +00:00
David Baker
1e163eabf0 Revert "Encrypt attachments in encrypted rooms," 2016-11-11 11:59:08 +00:00
Richard van der Hoff
998690431f Merge pull request #542 from matrix-org/dbkr/get_app_version
Fix the vector web version in UserSettings
2016-11-11 11:11:36 +00:00
Richard van der Hoff
00ecff7497 Merge pull request #544 from matrix-org/luke/feature-truncate-m-room-member-events
Truncate consecutive member events
2016-11-11 11:01:47 +00:00
David Baker
857c0d1747 Wrap getAppVersion() in promise
in case it throws
2016-11-11 10:05:53 +00:00
Luke Barnard
d3a548773a Remove redundant lines 2016-11-10 18:01:34 +00:00
Luke Barnard
3d7f6919cf Refactor renderNameList (thanks, @richvdh) 2016-11-10 17:36:22 +00:00
Luke Barnard
0695037f5f pass in prop onClick by default 2016-11-10 17:30:35 +00:00
Luke Barnard
87e8f0e4da trailing commas 2016-11-10 17:27:59 +00:00
Luke Barnard
3ec7940d12 Inline renderEvents 2016-11-10 17:26:36 +00:00
Luke Barnard
d2d7ebc979 correct comment 2016-11-10 17:22:16 +00:00
Luke Barnard
b11dd9542f Add class to expand link for pointer and colour 2016-11-10 17:09:18 +00:00
Luke Barnard
e05aeb35a1 npm run reskindex 2016-11-10 17:03:24 +00:00
Luke Barnard
ac460122cc revert now redundant TruncatedList edits 2016-11-10 15:51:27 +00:00
Luke Barnard
f71ac93946 Prefer null to falsy, use correct plural 2016-11-10 15:38:20 +00:00
Luke Barnard
1a4df38500 remove href 2016-11-10 15:20:53 +00:00
Luke Barnard
d8bc4d9a6f Factor out avatar click leads to view_user 2016-11-10 15:18:59 +00:00
Luke Barnard
6b2aa43b71 Factor out "and others" 2016-11-10 14:33:41 +00:00
Luke Barnard
d6b74becfc Children are required 2016-11-10 14:12:45 +00:00
Luke Barnard
370f5f0a11 Use _ prefix for private methods 2016-11-10 14:12:05 +00:00
Luke Barnard
8422017827 events are required 2016-11-10 14:09:40 +00:00
Luke Barnard
dcbb31279f Prefer import React, set prevEvent to last MemberhsipChange 2016-11-10 14:08:11 +00:00
Luke Barnard
e2936376b6 Unnecessary props 2016-11-10 13:26:27 +00:00
Luke Barnard
566034cf2b Render children EventTiles before passing to summary element 2016-11-10 13:25:48 +00:00
Luke Barnard
764959ec1c Comment on i after membershipchanges 2016-11-10 13:14:04 +00:00
Luke Barnard
0ec5eebfc9 Hoist isMembershipChange out of for loop 2016-11-10 13:03:17 +00:00
Luke Barnard
d01bb0b78f Use sdk.getComponent 2016-11-10 13:01:48 +00:00
Luke Barnard
79c01fa1a4 Remove empty lines 2016-11-10 11:03:43 +00:00
Luke Barnard
f5bc8d1fe0 Removed logs, updated phrasing on 'others joined'
Now it's:
 1 user joined and left
 >1 others joined and left
2016-11-10 10:42:33 +00:00
Luke Barnard
5f0b891d47 Add date seperator to the expanded events
netsplits across midnight is not handled, and @richvdh suggested splitting the list in two
2016-11-09 17:44:43 +00:00
Luke Barnard
04a934f738 Trying to get rid of the date separator problem 2016-11-09 16:24:56 +00:00
Luke Barnard
2f02c4b84e WIP nicer join/part folding 2016-11-09 16:03:35 +00:00
Richard van der Hoff
f2222c84a8 Merge pull request #545 from matrix-org/dbkr/fix_ctrl_e
Fix the ctrl+e mute camera shortcut
2016-11-08 18:37:58 +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
Luke Barnard
cd241a4a17 Truncate consecutive member events
This is needed for the IRC bridge to be able to do full membership list syncing without cluttering the message panel.
2016-11-08 16:34:02 +00:00
Mark Haines
c838164f40 Make the promises be q promises 2016-11-08 16:26:25 +00:00
Mark Haines
93ddb5539e Make imports more consistent, fix m.video 2016-11-08 12:57:24 +00:00