Commit graph

2508 commits

Author SHA1 Message Date
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
Aviral Dasgupta
8dc7f8efe2
rte: remove logging and fix new history 2017-03-10 21:10:27 +05:30
Aviral Dasgupta
6004f6d610
rte: fix history 2017-03-10 20:34:31 +05:30
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
Aviral Dasgupta
79f481f81e
rte: special return handling for some block types 2017-03-07 04:40:25 +05:30
Aviral Dasgupta
f5b52fb488
rte: change list behaviour in markdown mode 2017-03-07 04:15:28 +05:30
Aviral Dasgupta
3a07fc1601
fix code-block for markdown mode 2017-03-07 04:09:27 +05:30
Aviral Dasgupta
32dd89774e
add support for autocomplete delay 2017-03-07 04:09:26 +05:30
Aviral Dasgupta
2d39b25334
turn off force complete when editor content changes 2017-03-07 04:09:26 +05:30
Aviral Dasgupta
0653343319
order User completions by last spoken 2017-03-07 04:09:26 +05:30
Aviral Dasgupta
5fbe06ed91
force editor rerender when we swap editorStates 2017-03-07 04:09:26 +05:30
Aviral Dasgupta
46d30c378d
fix tab focus issue in MessageComposerInput
onTab was incorrectly implemented causing forceComplete instead of
focusing the editor
2017-03-07 04:09:26 +05:30
Aviral Dasgupta
aaac06c6d3
run eslint --fix over MessageComposerInput 2017-03-07 04:09:25 +05:30
Aviral Dasgupta
48376a32c2
refactor: MessageComposer.setEditorState to overridden setState
The old approach led to a confusing proliferation of repeated
setState calls.
2017-03-07 04:09:25 +05:30
Aviral Dasgupta
f4c0baaa2f
refactor MessageComposerInput: bind -> class props 2017-03-07 04:09:25 +05:30
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